と。の単純なテキストマークアップ言語を考えてみましょ_underscores denote italics_
う*astrisks denote bold*
。
架空のvim構文ファイルでは、
syntax region italic start='_' end='_' keepend
syntax region bold start='*' end='*' keepend
highlight italic cterm=italic
highlight bold cterm=bold
(はい、私はそれがそうであることを知っています、私は明確にするため\*
にそれを残しました。)*
ここでの問題はです_strings like *this*_
。端末がitalicBoldフォントをサポートしている場合でも、vimでは一度に1つしか取得できません。
私が本当にやりたいのはこれです:
highlight italic cterm+=italic
highlight bold cterm+=bold
(わかりやすくするためterm
にguiterm
省略されています。)
両方が設定された包含領域italicBold
と領域でこれを回避することは可能ですが、含める場合は厄介になり、赤い領域と青い領域があり、最終的にはすべてが手に負えなくなります。boldItalic
cterm=bold,italic
underline
syntax region red ... contains=italicRed,boldRed,underlineRed
syntax region italicRed ... contains=italicBoldRed,italicUnderlineRed
syntax region italicBoldRed ... contains=italicBoldUnderlineRed
.
.
.
highlight red ctermfg=red
highlight italicRed cterm=italic ctermfg=red
highlight italicBoldRed cterm=italic,bold ctermfg=red
.
.
.
adinifinitum。
そして、キッカーは、色をにハードコーディングしたくないということですred
。私はしたい
highlight link red Statement
次にitalicRed
、と同じハイライト定義を使用しますred
が、斜体の設定を追加します。
これを行うためのより簡単な方法が必要です。助言がありますか?