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