テーマ
テーマのスタイリングは、JLine
の AttributedString を使用して提供されます。残念ながら、JLine
でのスタイル設定はほとんどドキュメント化されていませんが、ここではその機能のいくつかを見ていきます。
JLine
では、スタイル仕様は特別な形式を持つ文字列です。カンマで区切れば、spec を複数指定できます。仕様は、前景、背景、そのモードの色を定義します。特別な形式 <spec>:=<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
または #
のいずれかのプレフィックスが付いている場合は、通常の 16 進数形式が使用されます。
fg-red
fg-r
fg-rgb:red
fg-rgb:xff3333
fg-rgb:#ff3333
spec に特別な名前 default
、bold
、faint
、italic
、underline
、blink
、inverse
、inverse-neg
、inverseneg
、conceal
、crossed-out
、crossedout
または hidden
が含まれている場合、スタイルはそれに応じて既存の色に変更されます。
bold
bold,fg:red
spec が数字またはセミコロンで区切られた数字の場合、format は ansi ASCII コードのプレーンな部分です。
31
31;1
ドットで始まる仕様を解決する JLine の特別なマッピング形式は、まだ Spring Shell スタイル名にマッピングされていないため使用できません。 |