|
|||||||||
| 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 Tokens 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. |
int |
getClosestStandardTokenTypeForInternalType(int type)
Returns the closest "standard" token type for a given
"internal" token type (e.g. |
boolean |
getCurlyBracesDenoteCodeBlocks(int languageIndex)
Returns whether this programming language uses curly braces (' {' and '}') to denote code blocks. |
javax.swing.Action |
getInsertBreakAction()
Returns an action to handle "insert break" key presses (i.e. |
int |
getLastTokenTypeOnLine(javax.swing.text.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. |
java.lang.String[] |
getLineCommentStartAndEnd(int languageIndex)
Returns the text to place at the beginning and end of a line to "comment" it in this programming language. |
boolean |
getMarkOccurrencesOfTokenType(int type)
Returns whether tokens of the specified type should have "mark occurrences" enabled for the current programming language. |
OccurrenceMarker |
getOccurrenceMarker()
Returns the object in charge of marking all occurrences of the token at the current caret position, if it is a relevant token. |
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(javax.swing.text.Segment text,
int initialTokenType,
int startOffset)
Returns the first token in the linked list of tokens generated from text. |
boolean |
isIdentifierChar(int languageIndex,
char ch)
Returns whether a character could be part of an "identifier" token in a specific language. |
boolean |
isMarkupLanguage()
Returns whether this language is a markup language. |
| 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.int getClosestStandardTokenTypeForInternalType(int type)
"standard" token type for a given
"internal" token type (e.g. one whose value is < 0).
type - The token type.
type is returned.boolean getCurlyBracesDenoteCodeBlocks(int languageIndex)
{' and '}') to denote code blocks.
languageIndex - The language index at the offset in question.
Since some TokenMakers effectively have nested
languages (such as JavaScript in HTML), this parameter tells the
TokenMaker what sub-language to look at.
int getLastTokenTypeOnLine(javax.swing.text.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.java.lang.String[] getLineCommentStartAndEnd(int languageIndex)
languageIndex - The language index at the offset in question.
Since some TokenMakers effectively have nested
languages (such as JavaScript in HTML), this parameter tells the
TokenMaker what sub-language to look at.
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.javax.swing.Action getInsertBreakAction()
null if the default action should
be used.boolean getMarkOccurrencesOfTokenType(int type)
type - The token type.
OccurrenceMarker getOccurrenceMarker()
null is returned, a default OccurrenceMarker
is used.
null
for none.boolean getShouldIndentNextLineAfter(Token token)
token - The token the previous line ends with.
Token getTokenList(javax.swing.text.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 isIdentifierChar(int languageIndex,
char ch)
languageIndex - The language index the character was found in.ch - The character.
boolean isMarkupLanguage()
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||