|
For the latest stable version, please use Spring Shell 3.4.1! |
Theming
Styling in a theming is provided by a use of a AttributedString from JLine.
Unfortunately styling in JLine is mostly undocumented but we try to go through
some of its features here.
In JLine a style spec is a string having a special format. Spec can be given
multiple times if separated by a comma. A spec will either define a color for
foreground, background or its mode. Special format <spec>:=<spec> allows to
define a default within latter spec if former for some reason is invalid.
If spec contains a colon its former part indicates either foreground or background
and possible values are foreground, fg, f, background, bg, b, foreground-rgb,
fg-rgb, f-rgb, background-rgb, bg-rgb or b-rgb. Without rbg a color value
is name from an allowable colors black, red, green, yellow, blue, magenta,
cyan or white. Colors have their short formats k, r, g, y, b, m, c and w
respectively. If color is prefixed with either ! or bright-, bright mode is automatically
applied. Prefixing with ~ will resolve from JLine internal bsd color table.
If rgb format is expected and prefixed with either x or # a normal
hex format is used.
fg-red
fg-r
fg-rgb:red
fg-rgb:xff3333
fg-rgb:#ff3333
If spec contains special names default, bold, faint, italic, underline, blink,
inverse, inverse-neg, inverseneg, conceal, crossed-out, crossedout or hidden
a style is changed accordingly with an existing color.
bold
bold,fg:red
If spec is a number or numbers separated with semicolon, format is a plain part of an ansi ascii codes.
31
31;1
| JLine special mapping format which would resolve spec starting with dot can’t be used as we don’t yet map those into Spring Shell styling names. |