はじめに

この資料は Rust 製のコマンドラインツール vivid について紹介するものです。

Rustの環境構築やツールのインストール方法については以下を参照してください

Rust開発環境を整える

vivid について

vivid は、ls, tree, fd, bfs, dust やその他多くのツールのカラー出力を制御する 環境変数 LS_COLORS のジェネレータツールです。

GitHub - sharkdp/vivid: A themeable LS_COLORS generator with a rich filetype datebase

filetype-databaseとカラーテーマにはYAML設定形式を使用します。dircolorsとは対照的に、データベースとテーマは異なるファイルで構成されています。これにより、ユーザーはファイル拡張子のコレクションから独立してカラーテーマを選択し、カスタマイズすることができます。暗号化された ANSI エスケープコードを使用する代わりに、RRGGBB フォーマットで色を指定することができ、truecolor (24-bit) ANSI コードまたは古いターミナルエミュレータ用の 8-bit コードに変換されます。

使用方法

カラーテーマ(例: molokai)を選択します。そして、これをシェルの 瀬亭ファイル (~/.bashrc, ~/.zshrc など) に追加してください。

export LS_COLORS="$(vivid generate molokai)"

テーマプレビュー

現在のディレクトリで、利用可能なすべてのテーマを試すことができます。

for theme in $(vivid themes); do
    echo "Theme: $theme"
    LS_COLORS=$(vivid generate $theme)
    ls
    echo
done

トゥルーカラー非対応端末

vividはデフォルトでトゥルーカラーモード(24ビット)で実行されます。24ビットカラーをサポートする端末をお持ちでない場合は、vividの実行時に --color-mode 8-bit オプションを使用してください。これにより、補間された8ビットカラーが生成されます。

export LS_COLORS="$(vivid -m 8-bit generate molokai)"

カスタマイズ

カスタム filetypes.yml データベースは、POSIX システムでは /usr/share/vivid, $HOME/.config/vivid, $XDG_CONFIG_HOME/vivid に、Windows システムでは %APPDATA%compid に置くことができま す。

カスタム カラー テーマは、それぞれ themes サブフォルダに格納されます。カスタムテーマへの明示的なパスを指定することもできます: vivid generate path/to/my_theme.yml. 手始めに、バンドルされているテーマの一つを使用することができます。