Class AbstractJFlexCTokenMaker

All Implemented Interfaces:
TokenMaker
Direct Known Subclasses:
ActionScriptTokenMaker, CPlusPlusTokenMaker, CSharpTokenMaker, CSSTokenMaker, CTokenMaker, DartTokenMaker, DTokenMaker, GoTokenMaker, GroovyTokenMaker, JavaScriptTokenMaker, JavaTokenMaker, JsonTokenMaker, KotlinTokenMaker, NSISTokenMaker, PerlTokenMaker, ProtoTokenMaker, RustTokenMaker, ScalaTokenMaker, TclTokenMaker, TypeScriptTokenMaker

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
Version:
1.0
Author:
Robert Futrell
  • Constructor Details

    • AbstractJFlexCTokenMaker

      protected AbstractJFlexCTokenMaker()
  • Method Details

    • 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:
    • 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 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)
      Description copied from class: TokenMakerBase
      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)
      Description copied from class: TokenMakerBase
      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.