Class StyleResolver
- Direct Known Subclasses:
StyleResolver
The StyleResolver class provides functionality for resolving style specifications into AttributedStyle objects. It supports a rich expression language for defining styles, including named colors, RGB values, and various text attributes.
Style specifications can include:
- Named colors (e.g., "red", "blue", "bright-green")
- RGB color values (e.g., "#ff0000", "rgb:ff/00/00")
- Text attributes (e.g., "bold", "underline", "italic")
- Compound styles with foreground and background (e.g., "red,bold,bg:blue")
- References to styles defined elsewhere (e.g., "${named.style}")
This class is used throughout JLine for resolving style specifications in configuration files, command-line options, and programmatic style definitions. It provides a consistent way to define and apply styles across different components.
The resolver can be configured with a source function that looks up named styles, allowing for hierarchical style definitions and style inheritance.
- Since:
- 3.6
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate AttributedStyleapply(AttributedStyle style, String spec) Apply style specification.private AttributedStyleapplyAnsi(AttributedStyle style, String spec) private AttributedStyleapplyColor(AttributedStyle style, String spec) Apply color styles specification.private AttributedStyleapplyNamed(AttributedStyle style, String name) Apply default named styles.private AttributedStyleapplyReference(AttributedStyle style, String spec) Apply source-referenced named style.private static IntegerReturns the color identifier for the given name.private static IntegerReturns the RGB color for the given name.Resolve the given style specification.Resolve the given style specification.
-
Field Details
-
log
-
source
-
-
Constructor Details
-
StyleResolver
-
-
Method Details
-
colorRgb
Returns the RGB color for the given name.Bright color can be specified with:
!<color>orbright-<color>.Full xterm256 color can be specified with:
~<color>. RGB colors can be specified with:x<rgb>or#<rgb>wherergbis a 24 bits hexadecimal color.- Parameters:
name- the name of the color- Returns:
- color code, or
nullif unable to determine.
-
color
Returns the color identifier for the given name.Bright color can be specified with:
!<color>orbright-<color>.Full xterm256 color can be specified with:
~<color>.- Parameters:
name- the name of the color- Returns:
- color code, or
nullif unable to determine.
-
resolve
Resolve the given style specification.If for some reason the specification is invalid, then
AttributedStyle.DEFAULTwill be used.- Parameters:
spec- the specification- Returns:
- the style
-
resolve
Resolve the given style specification.If this resolves to
AttributedStyle.DEFAULTthen given default specification is used if non-null.- Parameters:
spec- the specificationdefaultSpec- the default specifiaction- Returns:
- the style
-
apply
Apply style specification.- Parameters:
style- the style to apply tospec- the specification- Returns:
- the new style
-
applyAnsi
-
applyReference
Apply source-referenced named style.- Parameters:
style- the style to apply tospec- the specification- Returns:
- the new style
-
applyNamed
Apply default named styles.- Parameters:
style- the style to apply toname- the named style- Returns:
- the new style
-
applyColor
Apply color styles specification.- Parameters:
style- The style to apply tospec- Color specification:<color-mode>:<color-name>- Returns:
- The new style
-