Dev_theme

Nvim の :help ページは、生成されたもので、ソースtree-sitter-vimdoc パーサーを使って処理しています。


Nvim カラースキームのガイドライン
Nvim のデフォルトカラースキームを開発するためのスタイルガイドライン。

デザイン

"Neovim ブランド" であること、つまり、主に「グリーン-ブルー」の雰囲気で、ユーザーの注意を引くために1、2色が予約されていること。
'termguicolors' (true colors) に対応しつつ、'notermguicolors' (16色) のフォールバックとしては、できる限りシンプルにすること。
アクセシブルであること、つまり、十分なコントラスト比を持つこと(https://www.w3.org/TR/2008/REC-WCAG20-20081211/#contrast-ratiodef で定義されているように)。これは、hl-Normal で少なくとも 7 の値を持ち、いくつかの一般的なケース(hl-Visual'cursorline' が設定された Comment、色付きのシンタックス、Diff*hl-Search)で 4.5 の値を持つことを意味します。
暗いパレットと明るいパレットを交換することで、暗い背景と明るい背景の両方に適していること。
使いやすいこと、つまり、一般的なオブジェクトに対して十分な視覚的なフィードバックを提供すること。

パレット

ダークとライトの2つの独立したパレットがあります。それらはすべて、それぞれ NvimDark* および NvimLight* カラーとしてエクスポートされる同じ色のセットを含んでいます。
ダークパレットは、ダークカラースキームの背景に使用され、ライトカラースキームの前景色に使用されます。逆もまた同様です。これにより、目立ちすぎることなく、認識可能な視覚システムが導入されます。
パレットの実際の計算は、知覚的に均一な色空間で行う必要があります。Oklch が良い選択です。
各パレットには、次の色があります(説明は暗い背景の場合。明るい背景の場合は逆になります)。
一般的なUI用の「冷たい」グレーの4つのシェード。
暗い色(最も暗いものから最も明るいものへ)は、hl-NormalFloat(「黒」と見なされます)、hl-Normal(背景)、hl-CursorLinehl-Visual の背景として予約されています。
明るい色(これも最も暗いものから最も明るいものへ)は、Commenthl-StatusLine/|hl-TabLine|、hl-Normal(前景色)、および「白」と見なされる色として予約されています。
十分なターミナルカラーを提供するための6色:赤、黄、緑、シアン、青、マゼンタ。それらは、視覚的に一貫性を保つために、(適度に)同様の明度と彩度を持っている必要があります。明度は、パレットの基本的なグレー(hl-Normal に使用される)とできるだけ同じである必要があります。それらは、視覚的に分離できるように、(適度に)異なる色相を持っている必要があります。
16色の場合
グレーは使用されず、ターミナルエミュレーターの前景色と背景色に置き換えられます。
グレー以外の色は、ANSIコードで並べられたターミナルカラーにフォールバックします(https://en.wikipedia.org/wiki/ANSI_escape_code#3-bit_and_4-bit)、つまり、赤(1、9)、緑(2、10)、黄(3、11)、青(4、12)、マゼンタ(5、13)、シアン(6、14)です。コントラストを上げるために、色1〜6は明るい背景に使用され、9〜14は暗い背景に使用されます。

ハイライトグループ

使用
デザインに応じて、一般的なUIにグレーのシェードを使用します。
キーワード(Statement ハイライトグループ)に太字のテキストを使用します。これは、実際の色に依存しないため、色覚異常の人々のアクセシビリティを高めるための重要な選択です。
文字列、hl-DiffAdd(背景として)、hl-DiagnosticOk、およびいくつかのマイナーなテキストUI要素に緑を使用します。
メインのシンタックスカラーとしてシアンを使用します。つまり、関数使用(Function ハイライトグループ)、hl-DiffTexthl-DiagnosticInfo、およびいくつかのマイナーなテキストUI要素に使用します。
一般的にユーザーの注意を引く意味として、つまりエラーに赤を使用します。特に、hl-ErrorMsghl-DiffDeletehl-DiagnosticError に使用します。
ユーザーの注意を引く意味として、つまり警告に黄を非常に控えめに使用します。つまり、hl-DiagnosticWarn および hl-WarningMsg に使用します。
hl-DiagnosticHint といくつかの追加の重要なシンタックスグループ(Identifier など)として青を非常に控えめに使用します。
マゼンタは非常に慎重に使用します(もし使うとしても)。
16色の場合
"背景色は背景として使用でき、他の色は前景として使用できる" という仮定に依存します。これは、任意の前景色/背景色の組み合わせで、背景色と1つの背景色以外の色が必要であることを意味します。
通常の背景が明るいか暗いかに応じて、グレー以外の背景の前景色として 0(黒)または 15(明るい白)を使用します。
メイン
コマンドインデックス
クイックリファレンス