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.DefaultHighlighterHighlighter 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 Modifier and Type Class Description protected static classSystemHighlighter.FileHighlightCommand
-
Field Summary
Fields Modifier and Type Field Description protected org.jline.builtins.SyntaxHighlighterargsHighlighterprotected org.jline.builtins.SyntaxHighlightercommandHighlighterprotected intcommandIndexprotected java.util.Map<java.lang.String,SystemHighlighter.FileHighlightCommand>fileHighlightprotected org.jline.builtins.SyntaxHighlighterlangHighlighterprotected java.util.Map<java.lang.String,org.jline.builtins.SyntaxHighlighter>specificHighlighterprotected SystemRegistrysystemRegistry
-
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 voidaddExternalHighlighterRefresh(java.util.function.Supplier<java.lang.Boolean> refresh)voidaddFileHighlight(java.lang.String... commands)voidaddFileHighlight(java.lang.String command, java.lang.String subcommand, java.util.Collection<java.lang.String> fileOptions)protected org.jline.utils.AttributedStringdoCommandHighlight(java.lang.String buffer)protected org.jline.utils.AttributedStringdoFileArgsHighlight(org.jline.reader.LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)protected org.jline.utils.AttributedStringdoFileOptsHighlight(org.jline.reader.LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)org.jline.utils.AttributedStringhighlight(org.jline.reader.LineReader reader, java.lang.String buffer)voidrefresh(org.jline.reader.LineReader lineReader)voidsetSpecificHighlighter(java.lang.String command, org.jline.builtins.SyntaxHighlighter highlighter)protected org.jline.utils.AttributedStringsystemHighlight(org.jline.reader.LineReader reader, java.lang.String buffer)
-
-
-
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
-
systemRegistry
protected final SystemRegistry systemRegistry
-
fileHighlight
protected final java.util.Map<java.lang.String,SystemHighlighter.FileHighlightCommand> fileHighlight
-
specificHighlighter
protected final java.util.Map<java.lang.String,org.jline.builtins.SyntaxHighlighter> specificHighlighter
-
commandIndex
protected int commandIndex
-
-
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:
highlightin interfaceorg.jline.reader.Highlighter- Overrides:
highlightin classorg.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)
-
-