public interface TokenMaker
TokenMaker is a class that turns text into
a linked list of Tokens for syntax highlighting
in a particular language.Token,
AbstractTokenMaker| Modifier and Type | Method and Description |
|---|---|
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.
|
int |
getLastTokenTypeOnLine(Segment text,
int initialTokenType)
Returns the last token on this line's type if the token is "unfinished",
or
Token.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. |
void |
setWhitespaceVisible(boolean visible,
RSyntaxTextArea textArea)
Sets whether tokens are generated that "show" whitespace.
|
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)
Token.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
Token.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).Token.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.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.void setWhitespaceVisible(boolean visible,
RSyntaxTextArea textArea)
visible - Whether whitespace should be visible.Copyright © 2009-2013 jtstand.com. All Rights Reserved.