Package org.jline.builtins
Class SyntaxHighlighter
- java.lang.Object
-
- org.jline.builtins.SyntaxHighlighter
-
public class SyntaxHighlighter extends java.lang.Object
Java implementation of nanorc highlighter
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
SyntaxHighlighter.BlockCommentDelimiters
private static class
SyntaxHighlighter.HighlightRule
private static class
SyntaxHighlighter.NanorcParser
private static class
SyntaxHighlighter.ParsedToken
private static class
SyntaxHighlighter.Parser
protected static class
SyntaxHighlighter.RuleSplitter
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.String
COMMAND_INCLUDE
protected static java.lang.String
COMMAND_THEME
private java.nio.file.Path
currentTheme
protected static java.lang.String
DEFAULT_LESSRC_FILE
static java.lang.String
DEFAULT_NANORC_FILE
private java.nio.file.Path
nanorc
private java.lang.String
nanorcUrl
private SyntaxHighlighter.Parser
parser
static java.lang.String
REGEX_TOKEN_NAME
private java.util.Map<java.lang.String,java.util.List<SyntaxHighlighter.HighlightRule>>
rules
private int
ruleStartId
private boolean
startEndHighlight
private java.lang.String
syntaxName
private static java.lang.String
TOKEN_NANORC
static java.lang.String
TYPE_NANORCTHEME
-
Constructor Summary
Constructors Modifier Constructor Description private
SyntaxHighlighter()
private
SyntaxHighlighter(java.lang.String nanorcUrl)
private
SyntaxHighlighter(java.nio.file.Path nanorc, java.lang.String syntaxName)
private
SyntaxHighlighter(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 void
addRules(java.util.Map<java.lang.String,java.util.List<SyntaxHighlighter.HighlightRule>> rules)
static SyntaxHighlighter
build(java.lang.String nanorcUrl)
Build SyntaxHighlighterstatic SyntaxHighlighter
build(java.nio.file.Path nanorc, java.lang.String syntaxName)
Build SyntaxHighlighterprotected static SyntaxHighlighter
build(java.util.List<java.nio.file.Path> syntaxFiles, java.lang.String file, java.lang.String syntaxName)
protected static SyntaxHighlighter
build(java.util.List<java.nio.file.Path> syntaxFiles, java.lang.String file, java.lang.String syntaxName, boolean ignoreErrors)
java.nio.file.Path
getCurrentTheme()
AttributedString
highlight(java.lang.String string)
AttributedString
highlight(AttributedString attributedString)
AttributedString
highlight(AttributedStringBuilder asb)
protected static void
nanorcInclude(java.lang.String parameter, java.util.List<java.nio.file.Path> syntaxFiles)
protected static void
nanorcTheme(java.lang.String parameter, java.util.List<java.nio.file.Path> syntaxFiles)
void
refresh()
SyntaxHighlighter
reset()
void
setCurrentTheme(java.nio.file.Path currentTheme)
void
setParser(SyntaxHighlighter.Parser parser)
private AttributedString
splitAndHighlight(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)
-
-