Package 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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classAbstractJFlexCTokenMaker.CStyleInsertBreakActionAction that knows how to special-case inserting a newline in a multi-line comment for languages like C and Java.
-
Field Summary
-
Fields inherited from class org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker
offsetShift, s, start
-
Fields inherited from class org.fife.ui.rsyntaxtextarea.TokenMakerBase
currentToken, firstToken, previousToken
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedAbstractJFlexCTokenMaker()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected ActioncreateInsertBreakAction()Creates and returns the action to use when the user inserts a newline.booleangetCurlyBracesDenoteCodeBlocks(int languageIndex)Returnstruealways as C-style languages use curly braces to denote code blocks.ActiongetInsertBreakAction()Returns an action to handle "insert break" key presses (i.e.booleangetMarkOccurrencesOfTokenType(int type)Returns whether tokens of the specified type should have "mark occurrences" enabled for the current programming language.booleangetShouldIndentNextLineAfter(Token t)The default implementation returnsfalsealways.-
Methods inherited from class org.fife.ui.rsyntaxtextarea.AbstractJFlexTokenMaker
yybegin, yybegin
-
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
-
Methods inherited from interface org.fife.ui.rsyntaxtextarea.TokenMaker
getTokenList
-
-
-
-
Method Detail
-
createInsertBreakAction
protected 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)
Returnstruealways as C-style languages use curly braces to denote code blocks.- Specified by:
getCurlyBracesDenoteCodeBlocksin interfaceTokenMaker- Overrides:
getCurlyBracesDenoteCodeBlocksin classTokenMakerBase- Parameters:
languageIndex- The language index at the offset in question. Since someTokenMakers effectively have nested languages (such as JavaScript in HTML), this parameter tells theTokenMakerwhat sub-language to look at.- Returns:
truealways.
-
getInsertBreakAction
public 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:
getInsertBreakActionin interfaceTokenMaker- Overrides:
getInsertBreakActionin classTokenMakerBase- 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 isTokenTypes.IDENTIFIER. Subclasses can override this method to support other token types, such asTokenTypes.VARIABLE.- Specified by:
getMarkOccurrencesOfTokenTypein interfaceTokenMaker- Overrides:
getMarkOccurrencesOfTokenTypein classTokenMakerBase- 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 returnsfalsealways. Languages that wish to better support auto-indentation can override this method.- Specified by:
getShouldIndentNextLineAfterin interfaceTokenMaker- Overrides:
getShouldIndentNextLineAfterin classTokenMakerBase- Parameters:
t- The token the previous line ends with.- Returns:
- Whether the next line should be indented.
-
-