📁

Starshipでdirenvの情報を表示する

1 min read

概要

プロンプトをカスタマイズできるStarshipでdirenvの情報を表示できるようにしました。

Starshipの設定

Starshipのcustom commandsを使って以下のようにdirenvの設定項目数を表示するコマンドを追加します。

[custom.direnv]
command = "cat .envrc | grep -v -E '^[ ]*#|^$' | wc -l"
files = [".envrc"]
style = "bg:white fg:black"
format = "[direnv \\($output\\)]($style) "

厳密には「direnvの設定項目数」ではなく「 .envrc のコメントと空白行を除いた行数」をカウントしているだけですが、とりあえず自分が見たい情報としては十分。
source_updotenv も一つとカウントします)

あとは${custom.direnv} を追加すれば表示されるようになり、いまのディレクトリでdirenvの設定をどの程度使っているかをひと目で確認できるようになりました。
files = [".envrc"] としているので .envrc がなければ表示されません。
format, styleはお好みで。

TIPS

direnvはデフォルトでディレクトリに移動した時に .envrc の内容を表示しますが、 export DIRENV_LOG_FORMAT="" とすると表示されないようにできます。

https://github.com/direnv/direnv/issues/68