人生シーケンスブレイク

シーケンスブレイクとは

プロンプト表示をカスタマイズが容易な Starship に乗り換えた

Rust製の starship.rs が良さそうだったので乗り換えた。 乗り換えたといっても、プロンプト表示だけなので Shell は Zsh や Fish のまま移行できる。

インストール

$ brew install starship

して zsh を利用しているので  ~/.zshenv に

$ eval "$(starship init zsh)"

と書くだけ。

何が嬉しいの?

f:id:ShineSpark:20200303023422p:plain

こんな感じにディレクトリの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