主題化
主題化中的樣式設定是透過使用 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 樣式名稱中。 |