org.fife.ui.rsyntaxtextarea
Class AbstractJFlexCTokenMaker
java.lang.Object
org.fife.ui.rsyntaxtextarea.TokenMakerBase
org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker
org.fife.ui.rsyntaxtextarea.AbstractJFlexCTokenMaker
- All Implemented Interfaces:
- TokenMaker
- Direct Known Subclasses:
- ActionScriptTokenMaker, CPlusPlusTokenMaker, CSharpTokenMaker, CSSTokenMaker, CTokenMaker, DartTokenMaker, DTokenMaker, GroovyTokenMaker, JavaScriptTokenMaker, JavaTokenMaker, NSISTokenMaker, PerlTokenMaker, ScalaTokenMaker, TclTokenMaker
public abstract class AbstractJFlexCTokenMaker
- extends AbstractJFlexTokenMaker
Base class for JFlex-based token makers using C-style syntax. This class
knows how to:
- Auto-indent after opening braces and parens
- Automatically close multi-line and documentation comments
| Methods inherited from class org.fife.ui.rsyntaxtextarea.TokenMakerBase |
addNullToken, addToken, addToken, addToken, createOccurrenceMarker, getClosestStandardTokenTypeForInternalType, getLanguageIndex, getLastTokenTypeOnLine, getLineCommentStartAndEnd, getOccurrenceMarker, isIdentifierChar, isMarkupLanguage, resetTokenList, setLanguageIndex |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractJFlexCTokenMaker
protected AbstractJFlexCTokenMaker()
createInsertBreakAction
protected javax.swing.Action createInsertBreakAction()
- Creates and returns the action to use when the user inserts a newline.
The default implementation intelligently closes multi-line comments.
Subclasses can override.
- Returns:
- The action.
- See Also:
getInsertBreakAction()
getCurlyBracesDenoteCodeBlocks
public boolean getCurlyBracesDenoteCodeBlocks(int languageIndex)
- Returns
true always as C-style languages use curly braces
to denote code blocks.
- Specified by:
getCurlyBracesDenoteCodeBlocks in interface TokenMaker- Overrides:
getCurlyBracesDenoteCodeBlocks in class TokenMakerBase
- Parameters:
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.
- Returns:
true always.
getInsertBreakAction
public javax.swing.Action getInsertBreakAction()
- Returns an action to handle "insert break" key presses (i.e. Enter).
An action is returned that handles newlines differently in multi-line
comments.
- Specified by:
getInsertBreakAction in interface TokenMaker- Overrides:
getInsertBreakAction in class TokenMakerBase
- Returns:
- The action.
getMarkOccurrencesOfTokenType
public boolean getMarkOccurrencesOfTokenType(int type)
- Returns whether tokens of the specified type should have "mark
occurrences" enabled for the current programming language. The default
implementation returns true if type is
TokenTypes.IDENTIFIER.
Subclasses can override this method to support other token types, such
as TokenTypes.VARIABLE.
- Specified by:
getMarkOccurrencesOfTokenType in interface TokenMaker- Overrides:
getMarkOccurrencesOfTokenType in class TokenMakerBase
- Parameters:
type - The token type.
- Returns:
- Whether tokens of this type should have "mark occurrences"
enabled.
getShouldIndentNextLineAfter
public boolean getShouldIndentNextLineAfter(Token t)
- The default implementation returns
false always. Languages
that wish to better support auto-indentation can override this method.
- Specified by:
getShouldIndentNextLineAfter in interface TokenMaker- Overrides:
getShouldIndentNextLineAfter in class TokenMakerBase
- Parameters:
t - The token the previous line ends with.
- Returns:
- Whether the next line should be indented.