Package org.jline.console.impl
Class SystemHighlighter
java.lang.Object
org.jline.reader.impl.DefaultHighlighter
org.jline.console.impl.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.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final SyntaxHighlighterprotected final SyntaxHighlighterprotected intprotected final Map<String, SystemHighlighter.FileHighlightCommand> protected final SyntaxHighlighterprotected final Map<String, SyntaxHighlighter> protected final SystemRegistryFields inherited from class org.jline.reader.impl.DefaultHighlighter
errorIndex, errorPattern -
Constructor Summary
ConstructorsConstructorDescriptionSystemHighlighter(SyntaxHighlighter commandHighlighter, SyntaxHighlighter argsHighlighter, SyntaxHighlighter langHighlighter) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddExternalHighlighterRefresh(Supplier<Boolean> refresh) voidaddFileHighlight(String... commands) voidaddFileHighlight(String command, String subcommand, Collection<String> fileOptions) protected org.jline.utils.AttributedStringdoCommandHighlight(String buffer) protected org.jline.utils.AttributedStringdoFileArgsHighlight(org.jline.reader.LineReader reader, String buffer, List<String> words, SystemHighlighter.FileHighlightCommand fhc) protected org.jline.utils.AttributedStringdoFileOptsHighlight(org.jline.reader.LineReader reader, String buffer, List<String> words, SystemHighlighter.FileHighlightCommand fhc) org.jline.utils.AttributedStringvoidrefresh(org.jline.reader.LineReader lineReader) voidsetSpecificHighlighter(String command, SyntaxHighlighter highlighter) protected org.jline.utils.AttributedStringsystemHighlight(org.jline.reader.LineReader reader, String buffer) Methods inherited from class org.jline.reader.impl.DefaultHighlighter
commandStyle, setErrorIndex, setErrorPattern
-
Field Details
-
commandHighlighter
-
argsHighlighter
-
langHighlighter
-
systemRegistry
-
fileHighlight
-
specificHighlighter
-
commandIndex
protected int commandIndex
-
-
Constructor Details
-
SystemHighlighter
public SystemHighlighter(SyntaxHighlighter commandHighlighter, SyntaxHighlighter argsHighlighter, SyntaxHighlighter langHighlighter)
-
-
Method Details
-
setSpecificHighlighter
-
refresh
public void refresh(org.jline.reader.LineReader lineReader) -
addExternalHighlighterRefresh
-
highlight
public org.jline.utils.AttributedString highlight(org.jline.reader.LineReader reader, String buffer) - Specified by:
highlightin interfaceorg.jline.reader.Highlighter- Overrides:
highlightin classorg.jline.reader.impl.DefaultHighlighter
-
addFileHighlight
-
addFileHighlight
-
systemHighlight
protected org.jline.utils.AttributedString systemHighlight(org.jline.reader.LineReader reader, String buffer) -
doFileOptsHighlight
protected org.jline.utils.AttributedString doFileOptsHighlight(org.jline.reader.LineReader reader, String buffer, List<String> words, SystemHighlighter.FileHighlightCommand fhc) -
doFileArgsHighlight
protected org.jline.utils.AttributedString doFileArgsHighlight(org.jline.reader.LineReader reader, String buffer, List<String> words, SystemHighlighter.FileHighlightCommand fhc) -
doCommandHighlight
-