|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TokenMaker
An implementation of TokenMaker
is a class that turns text into
a linked list of Token
s for syntax highlighting
in a particular language.
Token
,
AbstractTokenMaker
Method Summary | |
---|---|
void |
addNullToken()
Adds a null token to the end of the current linked list of tokens. |
void |
addToken(char[] array,
int start,
int end,
int tokenType,
int startOffset)
Adds the token specified to the current linked list of tokens. |
boolean |
getCurlyBracesDenoteCodeBlocks()
Returns whether this programming language uses curly braces ('{' and '}') to denote code blocks. |
Action |
getInsertBreakAction()
Returns an action to handle "insert break" key presses (i.e. |
int |
getLastTokenTypeOnLine(Segment text,
int initialTokenType)
Returns the last token on this line's type if the token is "unfinished", or TokenTypes.NULL if it was finished. |
String[] |
getLineCommentStartAndEnd()
Returns the text to place at the beginning and end of a line to "comment" it in a this programming language. |
boolean |
getMarkOccurrencesOfTokenType(int type)
Returns whether tokens of the specified type should have "mark occurrences" enabled for the current programming language. |
boolean |
getShouldIndentNextLineAfter(Token token)
If a line ends in the specified token, this method returns whether a new line inserted after that line should be indented. |
Token |
getTokenList(Segment text,
int initialTokenType,
int startOffset)
Returns the first token in the linked list of tokens generated from text . |
boolean |
isMarkupLanguage()
Returns whether this language is a markup language. |
boolean |
isWhitespaceVisible()
Returns whether whitespace is visible. |
void |
setWhitespaceVisible(boolean visible)
Sets whether tokens are generated that "show" whitespace. |
Method Detail |
---|
void addNullToken()
void addToken(char[] array, int start, int end, int tokenType, int startOffset)
array
- The character array from which to get the text.start
- Start offset in segment
of token.end
- End offset in segment
of token.tokenType
- The token's type.startOffset
- The offset in the document at which this token
occurs.boolean getCurlyBracesDenoteCodeBlocks()
int getLastTokenTypeOnLine(Segment text, int initialTokenType)
TokenTypes.NULL
if it was finished. For example, if C-style
syntax highlighting is being implemented, and text
contained a line of code that contained the beginning of a comment but
no end-comment marker ("*\/"), then this method would return
TokenTypes.COMMENT_MULTILINE
for that line. This is useful
for doing syntax highlighting.
text
- The line of tokens to examine.initialTokenType
- The token type to start with (i.e., the value
of getLastTokenTypeOnLine
for the line before
text
).
TokenTypes.NULL
if the line was completed.String[] getLineCommentStartAndEnd()
null
value for either means there
is no string to add for that part. A value of
null
for the array means this language
does not support commenting/uncommenting lines.Action getInsertBreakAction()
null
if the default action should
be used.boolean getMarkOccurrencesOfTokenType(int type)
type
- The token type.
boolean getShouldIndentNextLineAfter(Token token)
token
- The token the previous line ends with.
Token getTokenList(Segment text, int initialTokenType, int startOffset)
text
. This method must be implemented by
subclasses so they can correctly implement syntax highlighting.
text
- The text from which to get tokens.initialTokenType
- The token type we should start with.startOffset
- The offset into the document at which
text
starts.
Token
in a linked list representing
the syntax highlighted text.boolean isMarkupLanguage()
boolean isWhitespaceVisible()
setWhitespaceVisible(boolean)
void setWhitespaceVisible(boolean visible)
visible
- Whether whitespace should be visible.isWhitespaceVisible()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |