Class SystemHighlighter

  • All Implemented Interfaces:
    org.jline.reader.Highlighter

    public class SystemHighlighter
    extends org.jline.reader.impl.DefaultHighlighter
    Highlighter implementation that provides syntax highlighting for commands and languages.

    SystemHighlighter extends DefaultHighlighter to provide syntax highlighting for:

    • Command syntax (command names, options, arguments)
    • Programming language syntax (for various languages)
    • File content based on file extensions

    The highlighter uses nanorc syntax definitions for highlighting, making it compatible with existing nanorc configuration files. It can be customized with different styles and supports dynamic refreshing of highlighting rules.

    • Constructor Summary

      Constructors 
      Constructor Description
      SystemHighlighter​(org.jline.builtins.SyntaxHighlighter commandHighlighter, org.jline.builtins.SyntaxHighlighter argsHighlighter, org.jline.builtins.SyntaxHighlighter langHighlighter)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addExternalHighlighterRefresh​(java.util.function.Supplier<java.lang.Boolean> refresh)  
      void addFileHighlight​(java.lang.String... commands)  
      void addFileHighlight​(java.lang.String command, java.lang.String subcommand, java.util.Collection<java.lang.String> fileOptions)  
      protected org.jline.utils.AttributedString doCommandHighlight​(java.lang.String buffer)  
      protected org.jline.utils.AttributedString doFileArgsHighlight​(org.jline.reader.LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)  
      protected org.jline.utils.AttributedString doFileOptsHighlight​(org.jline.reader.LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)  
      org.jline.utils.AttributedString highlight​(org.jline.reader.LineReader reader, java.lang.String buffer)  
      void refresh​(org.jline.reader.LineReader lineReader)  
      void setSpecificHighlighter​(java.lang.String command, org.jline.builtins.SyntaxHighlighter highlighter)  
      protected org.jline.utils.AttributedString systemHighlight​(org.jline.reader.LineReader reader, java.lang.String buffer)  
      • Methods inherited from class org.jline.reader.impl.DefaultHighlighter

        commandStyle, setErrorIndex, setErrorPattern
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • commandHighlighter

        protected final org.jline.builtins.SyntaxHighlighter commandHighlighter
      • argsHighlighter

        protected final org.jline.builtins.SyntaxHighlighter argsHighlighter
      • langHighlighter

        protected final org.jline.builtins.SyntaxHighlighter langHighlighter
      • specificHighlighter

        protected final java.util.Map<java.lang.String,​org.jline.builtins.SyntaxHighlighter> specificHighlighter
      • commandIndex

        protected int commandIndex
    • Constructor Detail

      • SystemHighlighter

        public SystemHighlighter​(org.jline.builtins.SyntaxHighlighter commandHighlighter,
                                 org.jline.builtins.SyntaxHighlighter argsHighlighter,
                                 org.jline.builtins.SyntaxHighlighter langHighlighter)
    • Method Detail

      • setSpecificHighlighter

        public void setSpecificHighlighter​(java.lang.String command,
                                           org.jline.builtins.SyntaxHighlighter highlighter)
      • refresh

        public void refresh​(org.jline.reader.LineReader lineReader)
      • addExternalHighlighterRefresh

        public void addExternalHighlighterRefresh​(java.util.function.Supplier<java.lang.Boolean> refresh)
      • highlight

        public org.jline.utils.AttributedString highlight​(org.jline.reader.LineReader reader,
                                                          java.lang.String buffer)
        Specified by:
        highlight in interface org.jline.reader.Highlighter
        Overrides:
        highlight in class org.jline.reader.impl.DefaultHighlighter
      • addFileHighlight

        public void addFileHighlight​(java.lang.String... commands)
      • addFileHighlight

        public void addFileHighlight​(java.lang.String command,
                                     java.lang.String subcommand,
                                     java.util.Collection<java.lang.String> fileOptions)
      • systemHighlight

        protected org.jline.utils.AttributedString systemHighlight​(org.jline.reader.LineReader reader,
                                                                   java.lang.String buffer)
      • doFileOptsHighlight

        protected org.jline.utils.AttributedString doFileOptsHighlight​(org.jline.reader.LineReader reader,
                                                                       java.lang.String buffer,
                                                                       java.util.List<java.lang.String> words,
                                                                       SystemHighlighter.FileHighlightCommand fhc)
      • doFileArgsHighlight

        protected org.jline.utils.AttributedString doFileArgsHighlight​(org.jline.reader.LineReader reader,
                                                                       java.lang.String buffer,
                                                                       java.util.List<java.lang.String> words,
                                                                       SystemHighlighter.FileHighlightCommand fhc)
      • doCommandHighlight

        protected org.jline.utils.AttributedString doCommandHighlight​(java.lang.String buffer)