主题
主题样式由 JLine 的 AttributedString 提供。遗憾的是,JLine 中的样式大多没有文档记录,但我们在此尝试介绍其一些功能。
在 JLine 中,样式规范是一个具有特殊格式的字符串。如果用逗号分隔,可以多次给出规范。规范将定义前景色、背景色或其模式。特殊格式 <spec>:=<spec> 允许在后一个规范中定义默认值,如果前一个规范因某种原因无效。
如果规范包含冒号,其前一部分表示前景或背景,可能的值为 foreground, fg, f, background, bg, b, foreground-rgb, fg-rgb, f-rgb, background-rgb, bg-rgb 或 b-rgb。如果没有 rbg,颜色值是允许的颜色名称,如 black, red, green, yellow, blue, magenta, cyan 或 white。颜色有其简短格式 k, r, g, y, b, m, c 和 w。如果颜色前缀为 ! 或 bright-,则自动应用亮模式。前缀 ~ 将从 JLine 内部 bsd 颜色表中解析。
如果预期为 rgb 格式,并且前缀为 x 或 #,则使用常规十六进制格式。
fg-red
fg-r
fg-rgb:red
fg-rgb:xff3333
fg-rgb:#ff3333
如果规范包含特殊名称 default, bold, faint, italic, underline, blink, inverse, inverse-neg, inverseneg, conceal, crossed-out, crossedout 或 hidden,则样式会根据现有颜色进行相应更改。
bold
bold,fg:red
如果规范是一个数字或用分号分隔的数字,则格式是 ansi ascii 代码的普通部分。
31
31;1
| JLine 特殊映射格式(可以解析以点开头的规范)无法使用,因为我们尚未将其映射到 Spring Shell 样式名称。 |