Package org.jline.console.impl
Class SystemHighlighter
- java.lang.Object
-
- org.jline.reader.impl.DefaultHighlighter
-
- org.jline.console.impl.SystemHighlighter
-
- All Implemented Interfaces:
Highlighter
public class SystemHighlighter extends DefaultHighlighter
Highlight command and language syntax using nanorc highlighter.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static class
SystemHighlighter.FileHighlightCommand
-
Field Summary
Fields Modifier and Type Field Description protected SyntaxHighlighter
argsHighlighter
protected SyntaxHighlighter
commandHighlighter
protected int
commandIndex
private java.util.List<java.util.function.Supplier<java.lang.Boolean>>
externalHighlightersRefresh
protected java.util.Map<java.lang.String,SystemHighlighter.FileHighlightCommand>
fileHighlight
protected SyntaxHighlighter
langHighlighter
private static java.lang.String
READER_COLORS
private static java.lang.String
REGEX_COMMENT_LINE
private StyleResolver
resolver
protected java.util.Map<java.lang.String,SyntaxHighlighter>
specificHighlighter
protected SystemRegistry
systemRegistry
-
Fields inherited from class org.jline.reader.impl.DefaultHighlighter
errorIndex, errorPattern
-
-
Constructor Summary
Constructors Constructor Description SystemHighlighter(SyntaxHighlighter commandHighlighter, SyntaxHighlighter argsHighlighter, 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)
private java.nio.file.Path
compareThemes(SyntaxHighlighter highlighter, java.nio.file.Path currentTheme)
protected AttributedString
doCommandHighlight(java.lang.String buffer)
private boolean
doDefaultHighlight(LineReader reader)
protected AttributedString
doFileArgsHighlight(LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)
protected AttributedString
doFileOptsHighlight(LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)
AttributedString
highlight(LineReader reader, java.lang.String buffer)
Highlight bufferprivate void
highlightArgs(java.lang.String args, AttributedStringBuilder asb)
private void
highlightCommand(java.lang.String command, AttributedStringBuilder asb)
private void
highlightFile(java.nio.file.Path path, AttributedStringBuilder asb)
private void
highlightFileArg(LineReader reader, java.lang.String arg, AttributedStringBuilder asb)
void
refresh(LineReader lineReader)
Refresh highlight configurationvoid
setSpecificHighlighter(java.lang.String command, SyntaxHighlighter highlighter)
protected AttributedString
systemHighlight(LineReader reader, java.lang.String buffer)
-
Methods inherited from class org.jline.reader.impl.DefaultHighlighter
setErrorIndex, setErrorPattern
-
-
-
-
Field Detail
-
resolver
private StyleResolver resolver
-
REGEX_COMMENT_LINE
private static final java.lang.String REGEX_COMMENT_LINE
- See Also:
- Constant Field Values
-
READER_COLORS
private static final java.lang.String READER_COLORS
- See Also:
- Constant Field Values
-
commandHighlighter
protected final SyntaxHighlighter commandHighlighter
-
argsHighlighter
protected final SyntaxHighlighter argsHighlighter
-
langHighlighter
protected final 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,SyntaxHighlighter> specificHighlighter
-
commandIndex
protected int commandIndex
-
externalHighlightersRefresh
private final java.util.List<java.util.function.Supplier<java.lang.Boolean>> externalHighlightersRefresh
-
-
Constructor Detail
-
SystemHighlighter
public SystemHighlighter(SyntaxHighlighter commandHighlighter, SyntaxHighlighter argsHighlighter, SyntaxHighlighter langHighlighter)
-
-
Method Detail
-
setSpecificHighlighter
public void setSpecificHighlighter(java.lang.String command, SyntaxHighlighter highlighter)
-
refresh
public void refresh(LineReader lineReader)
Description copied from interface:Highlighter
Refresh highlight configuration
-
addExternalHighlighterRefresh
public void addExternalHighlighterRefresh(java.util.function.Supplier<java.lang.Boolean> refresh)
-
compareThemes
private java.nio.file.Path compareThemes(SyntaxHighlighter highlighter, java.nio.file.Path currentTheme)
-
highlight
public AttributedString highlight(LineReader reader, java.lang.String buffer)
Description copied from interface:Highlighter
Highlight buffer- Specified by:
highlight
in interfaceHighlighter
- Overrides:
highlight
in classDefaultHighlighter
- Parameters:
reader
- LineReaderbuffer
- the buffer to be highlighted- Returns:
- highlighted buffer
-
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)
-
doDefaultHighlight
private boolean doDefaultHighlight(LineReader reader)
-
systemHighlight
protected AttributedString systemHighlight(LineReader reader, java.lang.String buffer)
-
doFileOptsHighlight
protected AttributedString doFileOptsHighlight(LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)
-
doFileArgsHighlight
protected AttributedString doFileArgsHighlight(LineReader reader, java.lang.String buffer, java.util.List<java.lang.String> words, SystemHighlighter.FileHighlightCommand fhc)
-
doCommandHighlight
protected AttributedString doCommandHighlight(java.lang.String buffer)
-
highlightFileArg
private void highlightFileArg(LineReader reader, java.lang.String arg, AttributedStringBuilder asb)
-
highlightFile
private void highlightFile(java.nio.file.Path path, AttributedStringBuilder asb)
-
highlightArgs
private void highlightArgs(java.lang.String args, AttributedStringBuilder asb)
-
highlightCommand
private void highlightCommand(java.lang.String command, AttributedStringBuilder asb)
-
-