主題化

主題化中的樣式設定是透過使用 JLineAttributedString 來提供的。遺憾的是,JLine 中的樣式設定大多沒有文件記錄,但我們嘗試在此處介紹其某些功能。

JLine 中,樣式規格是一個具有特殊格式的字串。如果以逗號分隔,則可以多次給定規格。規格將定義前景、背景或其模式的顏色。特殊格式 <spec>:=<spec> 允許在後面的規格中定義預設值,如果先前的規格由於某些原因而無效。

如果規格包含冒號,則其前一部分表示前景或背景,可能的值為 foregroundfgfbackgroundbgbforeground-rgbfg-rgbf-rgbbackground-rgbbg-rgbb-rgb。如果沒有 rbg,顏色值是從允許的顏色名稱中取得:blackredgreenyellowbluemagentacyanwhite。顏色有其簡短格式:krgybmcw。如果顏色以 !bright- 作為前綴,則會自動應用明亮模式。以 ~ 作為前綴將從 JLine 內部 bsd 顏色表解析。

如果預期 rgb 格式,並且以 x# 作為前綴,則使用標準的十六進制格式。

fg-red
fg-r
fg-rgb:red
fg-rgb:xff3333
fg-rgb:#ff3333

如果規格包含特殊名稱 defaultboldfaintitalicunderlineblinkinverseinverse-neginversenegconcealcrossed-outcrossedouthidden,則樣式會根據現有顏色相應地更改。

bold
bold,fg:red

如果規格是數字或以分號分隔的數字,則格式是 ansi ascii 代碼的純部分。

31
31;1
JLine 特殊映射格式(可以解析以點開頭的規格)不能使用,因為我們尚未將這些映射到 Spring Shell 樣式名稱中。