プロンプト表示をカスタマイズが容易な Starship に乗り換えた
Rust製の starship.rs が良さそうだったので乗り換えた。 乗り換えたといっても、プロンプト表示だけなので Shell は Zsh や Fish のまま移行できる。
インストール
$ brew install starship
して zsh を利用しているので ~/.zshenv に
$ eval "$(starship init zsh)"
と書くだけ。
何が嬉しいの?
こんな感じにディレクトリのgitステータスやリポジトリ配下の言語のバージョンが表示されるようになる。
元々 zsh の RPROMPT とかにgitのブランチ名やステータスを表示していたが、Starshipの方がカンタンかつオシャレに表示できるので乗り換えた。
カスタマイズ
設定 | Starship を参考にしながら.config/starship.toml
に設定を記述していくとカスタマイズが可能。
自分の設定を貼り付けて置くので参考にどうぞ。
# 表示順を再定義 prompt_order = [ "username", "hostname", "kubernetes", "directory", "git_branch", "git_commit", "git_state", "git_status", "hg_branch", "package", "dotnet", "elm", "golang", "haskell", "java", "nodejs", "php", "python", "ruby", "rust", "terraform", "nix_shell", "conda", "memory_usage", "aws", "env_var", "crystal", "cmd_duration", "jobs", "battery", "time", "line_break", "character", ] [directory] truncation_length = 10 # 10ディレクトリまでは省略しない truncate_to_repo = false # gitのルートディレクトリでもパスを省略しない style = "bold green" # 太字の緑 [git_commit] disabled = false # gitのコミットIDを表示する(rebase中などのみ表示される) [git_state] # gitのステータスに応じて表示するメッセージをカスタマイズ(絵文字を追加) rebase = "🛠 REBASING" revert = "💥 REVERTING" cherry_pick = "🍒 PICKING" [time] disabled = false # 時刻を表示 # 利用予定のないモジュールを明示的に無効化 [dotnet] disabled = true [hg_branch] disabled = true [nix_shell] disabled = true