org.fife.ui.rsyntaxtextarea.modes
Class JavaScriptTokenMaker

java.lang.Object
  extended byorg.fife.ui.rsyntaxtextarea.TokenMakerBase
      extended byorg.fife.ui.rsyntaxtextarea.AbstractTokenMaker
          extended byorg.fife.ui.rsyntaxtextarea.modes.JavaScriptTokenMaker
All Implemented Interfaces:
TokenMaker

public class JavaScriptTokenMaker
extends AbstractTokenMaker

A token maker that turns text into a linked list of Tokens for syntax highlighting in the JavaScript programming language.

Version:
0.1
Author:
Robert Futrell

Field Summary
protected  java.lang.String hexCharacters
           
protected  java.lang.String numberEndChars
           
protected  java.lang.String operators
           
protected  java.lang.String separators
           
protected  java.lang.String separators2
           
 
Fields inherited from class org.fife.ui.rsyntaxtextarea.AbstractTokenMaker
currentToken, firstToken, previousToken, wordsToHighlight
 
Constructor Summary
JavaScriptTokenMaker()
          Constructor.
 
Method Summary
 void addToken(javax.swing.text.Segment segment, int start, int end, int tokenType, int startOffset)
          Checks the token to give it the exact ID it deserves before being passed up to the super method.
 boolean getCurlyBracesDenoteCodeBlocks()
          Returns true always as JavaScript uses curly braces to denote code blocks.
 java.lang.String[] getLineCommentStartAndEnd()
          Returns the text to place at the beginning and end of a line to "comment" it in a this programming language.
 boolean getShouldIndentNextLineAfter(Token t)
          Returns true if the specified token is a '{' or '(' separator.
 Token getTokenList(javax.swing.text.Segment text, int initialTokenType, int startOffset)
          Returns the first token in the linked list of tokens generated from text.
 TokenMap getWordsToHighlight()
          Returns the words to highlight for the JavaScript programming language.
 
Methods inherited from class org.fife.ui.rsyntaxtextarea.AbstractTokenMaker
addNullToken, addToken, addToken, getLastTokenTypeOnLine, getMarkOccurrencesOfTokenType, isMarkupLanguage, removeLastToken, resetTokenList, setWhitespaceVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

operators

protected final java.lang.String operators
See Also:
Constant Field Values

separators

protected final java.lang.String separators
See Also:
Constant Field Values

separators2

protected final java.lang.String separators2
See Also:
Constant Field Values

hexCharacters

protected final java.lang.String hexCharacters
See Also:
Constant Field Values

numberEndChars

protected final java.lang.String numberEndChars
See Also:
Constant Field Values
Constructor Detail

JavaScriptTokenMaker

public JavaScriptTokenMaker()
Constructor.

Method Detail

addToken

public void addToken(javax.swing.text.Segment segment,
                     int start,
                     int end,
                     int tokenType,
                     int startOffset)
Checks the token to give it the exact ID it deserves before being passed up to the super method.

Parameters:
segment - Segment to get text from.
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 the token occurs.

getLineCommentStartAndEnd

public java.lang.String[] getLineCommentStartAndEnd()
Returns the text to place at the beginning and end of a line to "comment" it in a this programming language.

Returns:
The start and end strings to add to a line to "comment" it out.

getWordsToHighlight

public TokenMap getWordsToHighlight()
Returns the words to highlight for the JavaScript programming language.

Specified by:
getWordsToHighlight in class AbstractTokenMaker
Returns:
A TokenMap containing the words to highlight for the JavaScript programming language.
See Also:
AbstractTokenMaker.getWordsToHighlight()

getCurlyBracesDenoteCodeBlocks

public boolean getCurlyBracesDenoteCodeBlocks()
Returns true always as JavaScript uses curly braces to denote code blocks.

Returns:
true always.

getShouldIndentNextLineAfter

public boolean getShouldIndentNextLineAfter(Token t)
Returns true if the specified token is a '{' or '(' separator.

Parameters:
t - The token the previous line ends with.
Returns:
Whether the next line should be indented after this token.

getTokenList

public Token getTokenList(javax.swing.text.Segment text,
                          int initialTokenType,
                          int startOffset)
Returns the first token in the linked list of tokens generated from text. This method must be implemented by subclasses so they can correctly implement syntax highlighting.

Parameters:
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.
Returns:
The first Token in a linked list representing the syntax highlighted text.