Package org.jline.builtins
Class SyntaxHighlighter
- java.lang.Object
-
- org.jline.builtins.SyntaxHighlighter
-
public class SyntaxHighlighter extends java.lang.ObjectJava implementation of nanorc highlighter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classSyntaxHighlighter.BlockCommentDelimitersprivate static classSyntaxHighlighter.HighlightRuleprivate static classSyntaxHighlighter.NanorcParserprivate static classSyntaxHighlighter.ParsedTokenprivate static classSyntaxHighlighter.Parserprotected static classSyntaxHighlighter.RuleSplitter
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringCOMMAND_INCLUDEprotected static java.lang.StringCOMMAND_THEMEprivate java.nio.file.PathcurrentThemeprotected static java.lang.StringDEFAULT_LESSRC_FILEstatic java.lang.StringDEFAULT_NANORC_FILEprivate java.nio.file.Pathnanorcprivate java.lang.StringnanorcUrlprivate SyntaxHighlighter.Parserparserstatic java.lang.StringREGEX_TOKEN_NAMEprivate java.util.Map<java.lang.String,java.util.List<SyntaxHighlighter.HighlightRule>>rulesprivate intruleStartIdprivate booleanstartEndHighlightprivate java.lang.StringsyntaxNameprivate static java.lang.StringTOKEN_NANORCstatic java.lang.StringTYPE_NANORCTHEME
-
Constructor Summary
Constructors Modifier Constructor Description privateSyntaxHighlighter()privateSyntaxHighlighter(java.lang.String nanorcUrl)privateSyntaxHighlighter(java.nio.file.Path nanorc, java.lang.String syntaxName)privateSyntaxHighlighter(java.nio.file.Path nanorc, java.lang.String syntaxName, java.lang.String nanorcUrl)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private AttributedStringBuilder_highlight(AttributedString line, java.util.List<SyntaxHighlighter.HighlightRule> rules)private AttributedStringBuilder_highlight(AttributedString line, java.util.List<SyntaxHighlighter.HighlightRule> rules, java.lang.CharSequence startWith, java.lang.CharSequence continueAs)private voidaddRules(java.util.Map<java.lang.String,java.util.List<SyntaxHighlighter.HighlightRule>> rules)static SyntaxHighlighterbuild(java.lang.String nanorcUrl)Build SyntaxHighlighterstatic SyntaxHighlighterbuild(java.nio.file.Path nanorc, java.lang.String syntaxName)Build SyntaxHighlighterprotected static SyntaxHighlighterbuild(java.util.List<java.nio.file.Path> syntaxFiles, java.lang.String file, java.lang.String syntaxName)protected static SyntaxHighlighterbuild(java.util.List<java.nio.file.Path> syntaxFiles, java.lang.String file, java.lang.String syntaxName, boolean ignoreErrors)java.nio.file.PathgetCurrentTheme()AttributedStringhighlight(java.lang.String string)AttributedStringhighlight(AttributedString attributedString)AttributedStringhighlight(AttributedStringBuilder asb)protected static voidnanorcInclude(java.lang.String parameter, java.util.List<java.nio.file.Path> syntaxFiles)protected static voidnanorcTheme(java.lang.String parameter, java.util.List<java.nio.file.Path> syntaxFiles)voidrefresh()SyntaxHighlighterreset()voidsetCurrentTheme(java.nio.file.Path currentTheme)voidsetParser(SyntaxHighlighter.Parser parser)private AttributedStringsplitAndHighlight(AttributedString attributedString)
-
-
-
Field Detail
-
REGEX_TOKEN_NAME
public static final java.lang.String REGEX_TOKEN_NAME
- See Also:
- Constant Field Values
-
TYPE_NANORCTHEME
public static final java.lang.String TYPE_NANORCTHEME
- See Also:
- Constant Field Values
-
DEFAULT_NANORC_FILE
public static final java.lang.String DEFAULT_NANORC_FILE
- See Also:
- Constant Field Values
-
DEFAULT_LESSRC_FILE
protected static final java.lang.String DEFAULT_LESSRC_FILE
- See Also:
- Constant Field Values
-
COMMAND_INCLUDE
protected static final java.lang.String COMMAND_INCLUDE
- See Also:
- Constant Field Values
-
COMMAND_THEME
protected static final java.lang.String COMMAND_THEME
- See Also:
- Constant Field Values
-
TOKEN_NANORC
private static final java.lang.String TOKEN_NANORC
- See Also:
- Constant Field Values
-
nanorc
private final java.nio.file.Path nanorc
-
syntaxName
private final java.lang.String syntaxName
-
nanorcUrl
private final java.lang.String nanorcUrl
-
rules
private final java.util.Map<java.lang.String,java.util.List<SyntaxHighlighter.HighlightRule>> rules
-
currentTheme
private java.nio.file.Path currentTheme
-
startEndHighlight
private boolean startEndHighlight
-
ruleStartId
private int ruleStartId
-
parser
private SyntaxHighlighter.Parser parser
-
-
Constructor Detail
-
SyntaxHighlighter
private SyntaxHighlighter()
-
SyntaxHighlighter
private SyntaxHighlighter(java.lang.String nanorcUrl)
-
SyntaxHighlighter
private SyntaxHighlighter(java.nio.file.Path nanorc, java.lang.String syntaxName)
-
SyntaxHighlighter
private SyntaxHighlighter(java.nio.file.Path nanorc, java.lang.String syntaxName, java.lang.String nanorcUrl)
-
-
Method Detail
-
build
protected static SyntaxHighlighter build(java.util.List<java.nio.file.Path> syntaxFiles, java.lang.String file, java.lang.String syntaxName)
-
build
protected static SyntaxHighlighter build(java.util.List<java.nio.file.Path> syntaxFiles, java.lang.String file, java.lang.String syntaxName, boolean ignoreErrors)
-
build
public static SyntaxHighlighter build(java.nio.file.Path nanorc, java.lang.String syntaxName)
Build SyntaxHighlighter- Parameters:
nanorc- Path of nano config file jnanorcsyntaxName- syntax name e.g 'Java'- Returns:
- SyntaxHighlighter
-
nanorcInclude
protected static void nanorcInclude(java.lang.String parameter, java.util.List<java.nio.file.Path> syntaxFiles) throws java.io.IOException- Throws:
java.io.IOException
-
nanorcTheme
protected static void nanorcTheme(java.lang.String parameter, java.util.List<java.nio.file.Path> syntaxFiles) throws java.io.IOException- Throws:
java.io.IOException
-
build
public static SyntaxHighlighter build(java.lang.String nanorcUrl)
Build SyntaxHighlighter- Parameters:
nanorcUrl- Url of nanorc file- Returns:
- SyntaxHighlighter
-
addRules
private void addRules(java.util.Map<java.lang.String,java.util.List<SyntaxHighlighter.HighlightRule>> rules)
-
setCurrentTheme
public void setCurrentTheme(java.nio.file.Path currentTheme)
-
getCurrentTheme
public java.nio.file.Path getCurrentTheme()
-
setParser
public void setParser(SyntaxHighlighter.Parser parser)
-
reset
public SyntaxHighlighter reset()
-
refresh
public void refresh()
-
highlight
public AttributedString highlight(java.lang.String string)
-
highlight
public AttributedString highlight(AttributedStringBuilder asb)
-
highlight
public AttributedString highlight(AttributedString attributedString)
-
splitAndHighlight
private AttributedString splitAndHighlight(AttributedString attributedString)
-
_highlight
private AttributedStringBuilder _highlight(AttributedString line, java.util.List<SyntaxHighlighter.HighlightRule> rules)
-
_highlight
private AttributedStringBuilder _highlight(AttributedString line, java.util.List<SyntaxHighlighter.HighlightRule> rules, java.lang.CharSequence startWith, java.lang.CharSequence continueAs)
-
-