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 Modifier and Type Class Description protected static class
SystemHighlighter.FileHighlightCommand
-
Field Summary
Fields Modifier and Type Field Description protected org.jline.builtins.SyntaxHighlighter
argsHighlighter
protected org.jline.builtins.SyntaxHighlighter
commandHighlighter
protected int
commandIndex
protected java.util.Map<java.lang.String,SystemHighlighter.FileHighlightCommand>
fileHighlight
protected org.jline.builtins.SyntaxHighlighter
langHighlighter
protected java.util.Map<java.lang.String,org.jline.builtins.SyntaxHighlighter>
specificHighlighter
protected SystemRegistry
systemRegistry
-
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)
-
-
-
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:
highlight
in interfaceorg.jline.reader.Highlighter
- Overrides:
highlight
in 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)
-
-