Class UnixShellTokenMaker

  • All Implemented Interfaces:
    TokenMaker

    public class UnixShellTokenMaker
    extends AbstractTokenMaker
    A token maker that turns text into a linked list of Tokens for syntax highlighting UNIX shell scripts.
    Version:
    0.1
    • Field Detail

      • shellVariables

        private static final java.lang.String shellVariables
        Characters that are part of "$" shell variables; e.g., "$_".
        See Also:
        Constant Field Values
      • currentTokenStart

        private int currentTokenStart
      • currentTokenType

        private int currentTokenType
    • Constructor Detail

      • UnixShellTokenMaker

        public UnixShellTokenMaker()
        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.
        Overrides:
        addToken in class TokenMakerBase
        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​(int languageIndex)
        Description copied from interface: TokenMaker
        Returns the text to place at the beginning and end of a line to "comment" it in this programming language.
        Specified by:
        getLineCommentStartAndEnd in interface TokenMaker
        Overrides:
        getLineCommentStartAndEnd 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:
        The start and end strings to add to a line to "comment" it out. A 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.
      • getMarkOccurrencesOfTokenType

        public boolean getMarkOccurrencesOfTokenType​(int type)
        Returns whether tokens of the specified type should have "mark occurrences" enabled for the current programming language.
        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.
      • getTokenList

        public Token getTokenList​(javax.swing.text.Segment text,
                                  int startTokenType,
                                  int startOffset)
        Returns a list of tokens representing the given text.
        Parameters:
        text - The text to break into tokens.
        startTokenType - The token with which to start tokenizing.
        startOffset - The offset at which the line of tokens begins.
        Returns:
        A linked list of tokens representing text.