# 設定

TIP

🔥Starshipの開発は現在も進んでいます。 多くの新しいオプションが今後のリリースで利用可能になります。

Starshipの設定を開始するには、~/.config/starship.toml ファイルを作成します。

mkdir -p ~/.config && touch ~/.config/starship.toml

Starshipのすべての設定は、このTOMLファイルで行われます。

# Don't print a new line at the start of the prompt
add_newline = false

# Replace the "❯" symbol in the prompt with "➜"
[character]      # The name of the module we are configuring is "character"
symbol = "➜"     # The "symbol" segment is being set to "➜"

# Disable the package module, hiding it from the prompt completely
[package]
disabled = true

STARSHIP_CONFIG 環境変数を使用して、デフォルトのstarship.toml ファイルの場所を変更できます。

export STARSHIP_CONFIG=~/.starship

PowerShell (Windows) で同様に $PROFILEにこの行を追加します。

$ENV:STARSHIP_CONFIG = "$HOME\.starship"

# 用語

モジュール: OSのコンテキスト情報に基づいて情報を提供するプロンプト内のコンポーネントです。 たとえば、現在のディレクトリがNodeJSプロジェクトである場合、「nodejs」モジュールは、現在コンピューターにインストールされているNodeJSのバージョンを表示します。

セグメント: モジュールを構成する小さなサブコンポーネントです。 たとえば、「nodejs」モジュールの「symbol」セグメントには、バージョン番号の前に表示される文字が含まれています(デフォルト: ⬢)。

以下はNode モジュールの表現です。 次の例では、「シンボル」と「バージョン」はその中のセグメントです。 すべてのモジュールには、デフォルトの端末色であるprefixとsuffixもあります。

[prefix]      [symbol]     [version]    [suffix]
 "via "         "⬢"        "v10.4.1"       ""

# スタイルの設定

Starshipのほとんどのモジュールでは、表示スタイルを設定できます。 これは、設定を指定する文字列であるエントリ(style)で行われます。 スタイル文字列の例とその機能を次に示します。 完全な構文の詳細については、詳細は 高度な設定を参照してください 。

  • "fg:green bg:blue" は、青色の背景に緑色のテキストを設定します
  • "bg:blue fg:bright-green" は、青色の背景に明るい緑色のテキストを設定します
  • "bold fg:27" は、 ANSIカラー 27の太字テキストを設定します
  • "underline bg:#bf5700" は、焦げたオレンジ色の背景に下線付きのテキストを設定します
  • "bold italic fg:purple"は、紫色の太字斜体のテキストを設定します
  • "" はすべてのスタイルを明示的に無効にします

スタイリングがどのように見えるかは、端末エミュレータによって制御されることに注意してください。 たとえば、一部の端末エミュレータはテキストを太字にする代わりに色を明るくします。また、一部のカラーテーマは通常の色と明るい色と同じ値を使用します。 また、斜体のテキストを取得するには、端末で斜体をサポートする必要があります。

# プロンプト

これは、プロンプト全体のオプションのリストです。

# オプション

変数 デフォルト 説明
add_newline true プロンプトの開始前に新しい行を追加します。
prompt_order link プロンプトモジュールを出力する順序を設定します。
scan_timeout 30 ファイルをスキャンする際のタイムアウト時間 (milliseconds) です。

# 設定例

# ~/.config/starship.toml

# Disable the newline at the start of the prompt
add_newline = false
# Overwrite a default_prompt_order and  use custom prompt_order
prompt_order=["rust","line_break","package","line_break","character"]
# Wait 10 milliseconds for starship to check files under the current directory.
scan_timeout = 10

# デフォルトのプロンプト表示順

デフォルトのprompt_orderは、空の場合、またはprompt_orderが指定されていない場合に、プロンプトにモジュールが表示される順序を定義するために使用されます。 デフォルトは次のとおりです。

prompt_order = [
    "username",
    "hostname",
    "kubernetes",
    "directory",
    "git_branch",
    "git_commit",
    "git_state",
    "git_status",
    "hg_branch",
    "docker_context",
    "package",
    "dotnet",
    "elixir",
    "elm",
    "erlang",
    "golang",
    "haskell",
    "java",
    "julia",
    "nim",
    "nodejs",
    "ocaml",
    "php",
    "purescript",
    "python",
    "ruby",
    "rust",
    "terraform",
    "zig",
    "nix_shell",
    "conda",
    "memory_usage",
    "aws",
    "env_var",
    "crystal",
    "cmd_duration",
    "custom",
    "line_break",
    "jobs",
    "battery",
    "time",
    "character",
]

# AWS

aws モジュールは現在のAWSプロファイルが表示されます。 これは ~/.aws/config に記述されている AWS_REGION, AWS_DEFAULT_REGION, and AWS_PROFILE 環境変数に基づいています。

aws-vaultを使用する場合、プロファイル はAWS_VAULTenv varから読み取られます。

# オプション

変数 デフォルト 説明
symbol "☁️ " 現在のAWSプロファイルを表示する前に表示される記号です。
displayed_items all 表示するアイテムを選択します。 指定可能な値は以下です。[all, profile, region]
region_aliases AWS名に加えて表示するリージョンのエイリアスです。
style "bold yellow" モジュールのスタイルです。
disabled false awsモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[aws]
style = "bold blue"
symbol = "🅰 "
displayed_items = "region"
[aws.region_aliases]
ap-southeast-2 = "au"
us-east-1 = "va"

# バッテリー

batteryモジュールは、デバイスのバッテリー残量と現在の充電状態を示します。 モジュールは、デバイスのバッテリー残量が10%未満の場合にのみ表示されます。

# オプション

変数 デフォルト 説明
full_symbol "•" バッテリーが満タンのときに表示される記号です。
charging_symbol "⇡" バッテリーの充電中に表示される記号です。
discharging_symbol "⇣" バッテリーが放電しているときに表示される記号です。
display link モジュールの閾値とスタイルを表示します。
disabled false batteryモジュールを無効にします。
いくつかのまれなバッテリー状態のオプションもあります。
変数 説明
unknown_symbol バッテリー状態が不明なときに表示される記号です。
empty_symbol バッテリーが空のときに表示される記号です。

オプションを指定しない限り、バッテリーの状態がunknownもしくはemptyになった場合にインジケーターは非表示になります。

# 設定例

# ~/.config/starship.toml

[battery]
full_symbol = "🔋"
charging_symbol = "⚡️"
discharging_symbol = "💀"

# バッテリーの表示

display オプションを使用して、バッテリーインジケーターを表示するタイミング(閾値)と外観(スタイル)を定義します。 display が提供されない場合、 デフォルトは次のとおりです。

[[battery.display]]
threshold = 10
style = "bold red"

# オプション

displayオプションは、次の表の通りです。

変数 説明
threshold バッテリーが表示される上限です。
style displayオプションが使用されている場合のスタイルです。

# 設定例

[[battery.display]]  # バッテリー残量が0%〜10%の間は「太字の赤色」スタイルを利用する
threshold = 10
style = "bold red"

[[battery.display]]  # バッテリー残量が10%〜30%の間は「太字の黄色」スタイルを利用する
threshold = 30
style = "bold yellow"

# 容量が30%を超えると、バッテリーインジケーターは表示されません

# 文字

characterモジュールは、端末でテキストが入力される場所の横に文字(通常は矢印)を表示します。

文字は、最後のコマンドが成功したかどうかを示します。 これは、色の変更(赤/緑)またはその形状の変更(❯/✖) の2つの方法で行うことができます。 後者はuse_symbol_for_statustrue設定されている場合にのみ行われます。

# オプション

変数 デフォルト 説明
symbol "❯" プロンプトでテキストを入力する前に使用される記号です。
error_symbol "✖" 前のコマンドが失敗した場合にテキスト入力の前に使用される記号です。
use_symbol_for_status false シンボルを変更してエラーステータスを示します。
vicmd_symbol "❮" シェルがvimの通常モードである場合、プロンプトのテキスト入力の前に使用される記号です。
style_success "bold green" 最後のコマンドが成功した場合に使用されるスタイルです。
style_failure "bold red" 最後のコマンドが失敗した場合に使用されるスタイルです。
disabled false characterモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[character]
symbol = "➜"
error_symbol = "✗"
use_symbol_for_status = true

# コマンド実行時間

cmd_durationモジュールは、最後のコマンドの実行にかかった時間を示します。 モジュールが表示されるのは、コマンドが2秒以上かかった場合、またはmin_time値が存在する場合のみです。

BashでDEBUGトラップをhookしない

bashでStarshipを実行している場合、 eval $(starship init $0)実行した後にDEBUGトラップをフックしないでください。そうしないと、このモジュールがおそらくですが壊れます。

preexecのような機能を必要とするBashユーザーは、 rcalorasのbash_preexecフレームワークを使用できます。 eval $(starship init $0) を実行する前に、preexec_functions、およびprecmd_functions定義するだけで、通常どおり続行します。

# オプション

変数 デフォルト 説明
min_time 2_000 実行時間を表示する最短期間(ミリ秒単位)です。
show_milliseconds false 実行時間の秒に加えてミリ秒を表示します。
prefix took コマンド実行時間の直前に表示する文字列です。
style "bold yellow" モジュールのスタイルです。
disabled false cmd_durationモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[cmd_duration]
min_time = 500
prefix = "underwent "

# Conda

$CONDA_DEFAULT_ENVが設定されている場合、condaモジュールは現在のcondaの環境を表示します。

TIP

Note: これはconda自身の プロンプト修飾子 を抑制しません。conda config --set changeps1 False で実行することができます。

# オプション

変数 デフォルト 説明
truncation_length 1 環境がconda create -p [path]で作成された場合、環境パスが切り捨てられるディレクトリ数。 0は切り捨てがないことを意味します。 directoryもご覧ください。
symbol "C " 環境名の直前に使用されるシンボルです。
style "bold green" モジュールのスタイルです。
disabled false condaモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[conda]
style = "dimmed green"

# Crystal

crystalモジュールには、現在インストールされているCrystalのバージョンが表示されます。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにshard.ymlファイルが含まれている
  • カレントディレクトリに.crの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "🔮 " Crystalのバージョンを表示する前に使用される記号です。
style "bold red" モジュールのスタイルです。
disabled false crystalモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[crystal]
symbol = "✨ "
style = "bold blue"

# ディレクトリ

directoryモジュールには、現在のディレクトリへのパスが表示され、3つの親フォルダは切り捨てられます。 ディレクトリは、現在のgitリポジトリであるとルートとなります。

fishスタイルのpwdオプションを使用すると、切り捨てられたパスを非表示にする代わりに、オプションで有効にした番号に基づいて各ディレクトリの短縮名が表示されます。

例として、~/Dev/Nix/nixpkgs/pkgsで、nixpkgsがリポジトリルートであり、オプションが1に設定されている場合を挙げます。 以前はnixpkgs/pkgsでしたが、~/D/N/nixpkgs/pkgsが表示されます。

# オプション

変数 デフォルト 説明
truncation_length 3 現在のディレクトリを切り捨てる親フォルダーの数です。
truncate_to_repo true 現在いるgitリポジトリのルートに切り捨てるかどうかです。
prefix "in " ディレクトリ名の直前に表示するprefixです。
style "bold cyan" モジュールのスタイルです。
disabled false directoryモジュールを無効にします。
このモジュールは、どのようにディレクトリを表示するかについての高度なオプションをいくつか持っています。
変数 デフォルト 説明
substitutions A table of substitutions to be made to the path.
fish_style_pwd_dir_length 0 fish shellのpwdパスロジックを適用するときに使用する文字数です。
use_logical_path true OSからのパスの代わりに、シェル(PWD) によって提供される論理パスを表示します。

substitutions allows you to define arbitrary replacements for literal strings that occur in the path, for example long network prefixes or development directories (i.e. Java). Note that this will disable the fish style PWD.

[directory.substitutions]
"/Volumes/network/path" = "/net"
"src/com/long/java/path" = "mypath"

fish_style_pwd_dir_length interacts with the standard truncation options in a way that can be surprising at first: if it's non-zero, the components of the path that would normally be truncated are instead displayed with that many characters. For example, the path /built/this/city/on/rock/and/roll, which would normally be displayed as as rock/and/roll, would be displayed as /b/t/c/o/rock/and/roll with fish_style_pwd_dir_length = 1--the path components that would normally be removed are displayed with a single character. For fish_style_pwd_dir_length = 2, it would be /bu/th/ci/on/rock/and/roll.

# 設定例

# ~/.config/starship.toml

[directory]
truncation_length = 8

# Docker Context

docker_contextモジュールは、 Dockerコンテキストデフォルトに設定されていない場合、現在アクティブな <1>Dockerコンテキストを表示します。

# オプション

変数 デフォルト 説明
symbol "🐳 " The symbol used before displaying the Docker context .
only_with_files false Only show when there's a docker-compose.yml or Dockerfile in the current directory.
style "bold blue" モジュールのスタイルです。
disabled true docker_contextモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[docker_context]
symbol = "🐋 "

# Dotnet

dotnet モジュールはカレントディレクトリに関係する.NET Core SDKのバージョンを表示します。 もし SDKは現在のディレクトリに固定されているのであれば、その固定されたバージョンが表示されます。 それ以外の場合、モジュール SDKの最新のインストールバージョンを示します。

このモジュールは、カレントディレクトリに次のファイルのいずれかが存在する場合にのみプロンプトに表示されます。: global.json, project.json, *.sln, *.csproj, *.fsproj, *.xproj 正しく使用するには、.NET Coreコマンドラインツールもインストールする必要があります。

内部的に、このモジュールは自身のバージョン検知のメカニズムを利用します。 dotnet --version を実行するより2倍速く実行できますが、.NET project一般的でないディレクトリlayoutの場合は間違ったバージョンが示されてしまうことがあります。 速度よりも精度が重要な場合は、次の方法でメカニズムを無効にできます。 モジュールオプションでheuristic = falseを設定します。

# オプション

変数 デフォルト 説明
symbol •NET " dotnetのバージョンを表示する前に使用される記号です。
heuristic true より高速なバージョン検出を使用して、starshipの動作を維持します。
style "bold blue" モジュールのスタイルです。
disabled false dotnetモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[dotnet]
symbol = "🥅 "
style = "green"
heuristic = false

# Elixir

The elixir module shows the currently installed version of Elixir and Erlang/OTP. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにmix.exsファイルが含まれている.

# オプション

変数 デフォルト 説明
symbol "💧 " The symbol used before displaying the version of Elixir/Erlang.
style "bold purple" モジュールのスタイルです。
disabled false Disables the elixir module.

# 設定例

# ~/.config/starship.toml

[elixir]
symbol = "🔮 "

# Elm

elmモジュールは、現在インストールされているElmのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにelm.jsonファイルが含まれている
  • カレントディレクトリにelm-package.jsonファイルが含まれている
  • カレントディレクトリに.elm-versionファイルが含まれている
  • カレントディレクトリにelm-stuffフォルダが含まれている
  • カレントディレクトリに*.elmファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "🌳 " Elmのバージョンを表示する前に使用される記号です。
style "bold cyan" モジュールのスタイルです。
disabled false elmモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[elm]
symbol = " "

# 環境変数

env_varモジュールは、選択された環境変数の現在の値を表示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • variableオプションが、既存の環境変数と一致する
  • variableオプションが定義されておらず、defaultオプションが定義されている

# オプション

変数 デフォルト 説明
symbol 環境変数を表示する前に使用される記号です。
variable 表示される環境変数です。
default 上のvariableが定義されていない場合に表示されるデフォルトの値です。
prefix "" 変数の直前に表示するprefixです。
suffix "" 変数の直後に表示するsuffixです。
style "dimmed bold black" モジュールのスタイルです。
disabled false env_varモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[env_var]
variable = "SHELL"
default = "unknown shell"

# Erlang

The erlang module shows the currently installed version of Erlang/OTP. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにrebar.configファイルが含まれている.
  • カレントディレクトリにerlang.mkファイルが含まれている.

# オプション

変数 デフォルト 説明
symbol "🖧 " The symbol used before displaying the version of Erlang.
style bold red The style for this module.
disabled false Disables the erlang module.

# 設定例

# ~/.config/starship.toml

[erlang]
symbol = "e "

# Git ブランチ

git_branchモジュールは、現在のディレクトリにあるリポジトリのアクティブなブランチを表示します。

# オプション

変数 デフォルト 説明
symbol " " 現在のディレクトリのリポジトリのブランチ名の前に使用されるシンボルです。
truncation_length 2^63 - 1 gitブランチをX書記素に切り捨てます。
truncation_symbol "…" ブランチ名切り捨てられていることを示すための記号です。 記号なしに「」も使用できます。
style "bold purple" モジュールのスタイルです。
disabled false git_branchモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[git_branch]
symbol = "🌱 "
truncation_length = 4
truncation_symbol = ""

# Git コミット

git_commitモジュールは、現在のディレクトリにあるリポジトリの現在のコミットハッシュを表示します。

# オプション

変数 デフォルト 説明
commit_hash_length 7 表示されるgitコミットハッシュの長さです。
prefix "(" このモジュールの先頭に表示される文字列です。
suffix ")" このモジュールの末尾に表示される文字列です。
style "bold green" モジュールのスタイルです。
only_detached true 切り離されたHEAD状態のときのみgit commit hashを表示します
disabled false git_commitモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[git_commit]
truncation_length = 4

# Git の進行状態

git_stateモジュールはgitディレクトリの進行状態を表します。 (例: REBASING, BISECTING, その他) 進捗情報がある場合(例: REBASING 3/10)はその情報も表示されます。

# オプション

変数 デフォルト 説明
rebase "REBASING" rebase進行中に表示されるテキストです。
merge "MERGING" merge進行中に表示されるテキストです。
revert "REVERTING" revert進行中に表示されるテキストです。
cherry_pick "CHERRY-PICKING" cherry-pick進行中に表示されるテキストです。
bisect "BISECTING" disect進行中に表示されるテキストです。
am "AM" apply-mailbox (git am) の進行中に表示されるテキストです。
am_or_rebase "AM/REBASE" あいまいなapply-mailboxまたはrebaseが進行中のときに表示されるテキストです。
progress_divider "/" 現在の進行量と合計進行量を分ける記号またはテキストです。 (例: " of ""3 of 10")
style "bold yellow" モジュールのスタイルです。
disabled false git_stateモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[git_state]
progress_divider = " of "
cherry_pick = "🍒 PICKING"

# Git の状態

git_statusモジュールは、現在のディレクトリのリポジトリの状態を表すシンボルを表示します。

# オプション

変数 デフォルト 説明
conflicted "=" このブランチにはマージの競合があります。
conflicted_count link 競合の数の表示およびスタイル設定します。
ahead "⇡" このブランチは、追跡されるブランチよりも先にあります。
behind "⇣" このブランチは、追跡されているブランチの背後にあります。
diverged "⇕" このブランチは、追跡されているブランチから分岐しています。
untracked "?" 作業ディレクトリに追跡されていないファイルがあります。
untracked_count link 追跡されていないファイルの数を表示およびスタイル設定します。
stashed "$" ローカルリポジトリ用のスタッシュが存在します。
stashed_count link スタッシュの数の表示およびスタイル設定します。
modified "!" 作業ディレクトリにファイルの変更があります。
modified_count link 変更されたファイルの数を表示およびスタイル設定します。
staged "+" 新しいファイルがステージング領域に追加されました。
staged_count link ステージングされたファイルの数を表示およびスタイル設定します。
renamed "»" 名前が変更されたファイルがステージング領域に追加されました。
renamed_count link 名前を変更したファイルの数を表示およびスタイル設定します。
deleted "✘" ファイルの削除がステージング領域に追加されました。
deleted_count link 削除されたファイルの数を表示およびスタイルします。
show_sync_count false 追跡されているブランチの先行/後方カウントを表示します。
prefix [ このモジュールの先頭に表示される文字列です。
suffix ] このモジュールの末尾に表示される文字列です。
style "bold red" モジュールのスタイルです。
disabled false git_statusモジュールを無効にします。

# Git Statusのカウント

変数 デフォルト 説明
enabled false ファイルの数を表示します。
style オプションで、モジュールとは異なるカウントのスタイルを設定します。

# 設定例

# ~/.config/starship.toml

[git_status]
conflicted = "🏳"
ahead = "🏎💨"
behind = "😰"
diverged = "😵"
untracked = "🤷‍"
stashed = "📦"
modified = "📝"
staged.value = "++"
staged.style = "green"
staged_count.enabled = true
staged_count.style = "green"
renamed = "👅"
deleted = "🗑"

# Golang

golangモジュールは、現在インストールされているGolangのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにgo.modファイルが含まれている
  • カレントディレクトリにgo.sumファイルが含まれている
  • カレントディレクトリにglide.yamlファイルが含まれている
  • カレントディレクトリにGopkg.ymlファイルが含まれている
  • カレントディレクトリにGopkg.lockファイルが含まれている
  • カレントディレクトリに.go-versionファイルが含まれている
  • カレントディレクトリにGodepsファイルが含まれている
  • カレントディレクトリに.goの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "🐹 " Golangのバージョンを表示する前に使用される記号です。
style "bold cyan" モジュールのスタイルです。
disabled false golangモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[golang]
symbol = "🏎💨 "

# Haskell

The haskell module shows the currently installed version of Haskell Stack version. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにstack.yamlファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "λ " The symbol used before displaying the version of Haskell.
style "bold red" モジュールのスタイルです。
disabled false Disables the haskell module.

# 設定例

# ~/.config/starship.toml

[haskell]
symbol = " "

# ホスト名

hostnameモジュールには、システムのホスト名が表示されます。

# オプション

変数 デフォルト 説明
ssh_only true SSHセッションに接続されている場合にのみホスト名を表示します。
prefix "" ホスト名の直前に表示するprefixです。
suffix "" ホスト名の直後に表示するsuffixです。
trim_at "." この文字が最初にマッチするまでをホスト名と認識します。 "."は最初の. までをホスト名として認識します。 ""を指定した場合トリムしません。
style "bold dimmed green" モジュールのスタイルです。
disabled false hostnameモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[hostname]
ssh_only = false
prefix = "⟪"
suffix = "⟫"
trim_at = ".companyname.com"
disabled = false

# Java

javaモジュールは、現在インストールされているJavaのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリに pom.xml, build.gradle.kts, build.sbt ,もしくは.java-versionが含まれている
  • カレントディレクトリに拡張子が.java, .class, .gradle, もしくは.jarのファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "☕ " Javaのバージョンを表示する前に使用される記号です。
style "dimmed red" モジュールのスタイルです。
disabled false javaモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[java]
symbol = "🌟 "

# ジョブ

jobsモジュールには、実行中のジョブの現在の数が表示されます。 このモジュールは、実行中のバックグラウンドジョブがある場合にのみ表示されます。 1つ以上のジョブがある、またはthresholdに指定した値以上にジョブがある場合は実行中のジョブの数を表示します。

# オプション

変数 デフォルト 説明
symbol "✦" ジョブの数を表示する前に使用される記号です。
threshold 1 超過した場合、ジョブの数を表示します。
style "bold blue" モジュールのスタイルです。
disabled false jobsモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[jobs]
symbol = "+ "
threshold = 4

# Julia

juliaモジュールは、現在インストールされているJuliaのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにProject.tomlファイルが含まれている
  • カレントディレクトリにManifest.tomlファイルが含まれている
  • カレントディレクトリに.jlの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "ஃ " Juliaのバージョンを表示する前に使用される記号です。
style "bold purple" モジュールのスタイルです。
disabled false juliaモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[julia]
symbol = "∴ "

# Kubernetes

現在のKubernetesコンテキスト名と、設定されている場合は、kubeconfigファイルに基づいてネームスペースを表示します。 ネームスペースはkubconfigで設定されている必要があります。それは kubectl config set-context starship-cluster --namespace astronaut のようなコマンドで設定することができます。 $KUBECONFIG 環境変数が設定されている場合、モジュールはそれを使用します ~/.kube/config は使用しません。

TIP

このモジュールはデフォルトで無効になっています。 有効にするには、設定ファイルでdisabledfalseに設定します。

# オプション

変数 デフォルト 説明
symbol "☸ " クラスタ情報を表示する前に使用される記号です。
context_aliases Table of context aliases to display
style "bold blue" モジュールのスタイルです。
disabled true Kubernetesモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[kubernetes]
symbol = "⛵ "
style = "dimmed green"
disabled = false
[kubernetes.context_aliases]
"dev.local.cluster.k8s" = "dev"

# 改行

line_breakモジュールは、プロンプトを2行に分割します。

# オプション

変数 デフォルト 説明
disabled false line_breakモジュールを無効にして、プロンプトを1行にします。

# 設定例

# ~/.config/starship.toml

[line_break]
disabled = true

# メモリ使用量

`memory_usage</ 0>モジュールは、現在のシステムメモリとスワップ使用量を示します。

デフォルトでは、システムスワップの合計がゼロ以外の場合、スワップ使用量が表示されます。

::: tip

このモジュールはデフォルトで無効になっています。 有効にするには、設定ファイルでdisabled`を`false`に設定します。

:::

# オプション

変数 デフォルト 説明
show_percentage false メモリ使用量を割合で表示します。
show_swap true 合計スワップがゼロ以外の場合、スワップ使用量を表示します。
threshold 75 この閾値を超えない限り、メモリ使用率は表示されません。
symbol "🐏 " メモリ使用率を表示する前に使用される記号です。
separator " | " RAMとスワップの使用を分離する記号またはテキストです。
style "bold dimmed white" モジュールのスタイルです。
disabled true memory_usageモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[memory_usage]
disabled = false
show_percentage = true
show_swap = true
threshold = -1
symbol = " "
separator = "/"
style = "bold dimmed green"

# Mercurial ブランチ

hg_branchモジュールは、現在のディレクトリにあるリポジトリのアクティブなブランチを示します。

# オプション

変数 デフォルト 説明
symbol " " The symbol used before the hg bookmark or branch name of the repo in your current directory.
truncation_length 2^63 - 1 Truncates the hg branch name to X graphemes
truncation_symbol "…" ブランチ名切り捨てられていることを示すための記号です。
style "bold purple" モジュールのスタイルです。
disabled true Disables the hg_branch module.

# 設定例

# ~/.config/starship.toml

[hg_branch]
symbol = "🌱 "
truncation_length = 4
truncation_symbol = ""

# Nim

The nim module shows the currently installed version of Nim. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • The current directory contains a nim.cfg file
  • The current directory contains a file with the .nim extension
  • The current directory contains a file with the .nims extension
  • The current directory contains a file with the .nimble extension

# オプション

変数 デフォルト 説明
symbol "👑 " The symbol used before displaying the version of Nim.
style "bold yellow" モジュールのスタイルです。
disabled false Disables the nim module.

# 設定例

# ~/.config/starship.toml

[nim]
style = "yellow"
symbol = "🎣 "

# Nix-shell

nix_shellモジュールは、nix-shell環境を示しています。 このモジュールは、nixシェル環境内にあるときに表示されます。

# オプション

変数 デフォルト 説明
use_name false nix-shellの名前を表示します。
impure_msg "impure" impureメッセージをカスタマイズします。
pure_msg "pure" pureメッセージをカスタマイズします。
symbol "❄️ " The symbol used before displaying the shell name.
style "bold blue" モジュールのスタイルです。
disabled false nix_shellモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[nix_shell]
disabled = true
use_name = true
impure_msg = "impure shell"
pure_msg = "pure shell"
symbol = "☃️  "

# NodeJS

nodejsモジュールは、現在インストールされているNodeJSのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにpackage.jsonファイルが含まれている
  • The current directory contains a .node-version file
  • カレントディレクトリにnode_modulesディレクトリが含まれている
  • カレントディレクトリに.jsの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "⬢ " NodeJSのバージョンを表示する前に使用される記号です。
style "bold green" モジュールのスタイルです。
disabled false nodejsモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[nodejs]
symbol = "🤖 "

# パッケージのバージョン

packageモジュールは、現在のディレクトリがパッケージのリポジトリである場合に表示され、現在のバージョンが表示されます。 The module currently supports npm, cargo, poetry, composer, gradle, julia and mix packages.

  • npmnpmパッケージバージョンは、現在のディレクトリにあるpackage.jsonから抽出されます
  • cargocargoパッケージバージョンは、現在のディレクトリにあるCargo.tomlから抽出されます。
  • poetrypoetryパッケージバージョンは、現在のディレクトリにあるpyproject.tomlから抽出されます
  • composercomposerパッケージバージョンは、現在のディレクトリにあるcomposer.jsonから抽出されます
  • gradle – The gradle package version is extracted from the build.gradle present
  • julia - The package version is extracted from the Project.toml present
  • mix - The mix package version is extracted from the mix.exs present

⚠️ 表示されるバージョンは、パッケージマネージャーではなく、ソースコードが現在のディレクトリにあるパッケージのバージョンです。

# オプション

変数 デフォルト 説明
symbol "📦 " パッケージのバージョンを表示する前に使用される記号です。
style "bold 208" モジュールのスタイルです。
display_private false Enable displaying version for packages marked as private.
disabled false packageモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[package]
symbol = "🎁 "

# OCaml

The ocaml module shows the currently installed version of OCaml. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • The current directory contains a file with .opam extension or _opam directory
  • The current directory contains a esy.lock directory
  • The current directory contains a dune or dune-project file
  • The current directory contains a jbuild or jbuild-ignore file
  • The current directory contains a .merlin file
  • The current directory contains a file with .ml, .mli, .re or .rei extension

# オプション

変数 デフォルト 説明
symbol "🐫 " The symbol used before displaying the version of OCaml.
style "bold yellow" モジュールのスタイルです。
disabled false Disables the ocaml module.

# 設定例

# ~/.config/starship.toml

[ocaml]
symbol = "🐪 "

# PHP

phpモジュールは、現在インストールされているPHPのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • The current directory contains a composer.json file
  • The current directory contains a .php-version file
  • カレントディレクトリに.phpの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "🐘 " PHPのバージョンを表示する前に使用される記号です。
style "bold 147" モジュールのスタイルです。
disabled false phpモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[php]
symbol = "🔹 "

# Python

The python module shows the currently installed version of Python and the current Python virtual environment if one is activated.

If pyenv_version_name is set to true, it will display the pyenv version name. Otherwise, it will display the version number from python --version.

次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリに.python-versionファイルが含まれている
  • カレントディレクトリにrequirements.txtファイルが含まれている
  • カレントディレクトリにpyproject.tomlファイルが含まれている
  • The current directory contains a file with the .py extension (and scan_for_pyfiles is true)
  • カレントディレクトリにPipfileファイルが含まれている
  • カレントディレクトリにtox.iniファイルが含まれている
  • カレントディレクトリにsetup.pyファイルが含まれている
  • The current directory contains a __init__.py file
  • 仮想環境がアクティブである

# オプション

変数 デフォルト 説明
symbol "🐍 " Pythonのバージョンを表示する前に使用される記号です。
pyenv_version_name false pyenvを使用してPythonバージョンを取得します
pyenv_prefix "pyenv " pyenvバージョン表示の前のprefix (デフォルトの表示はpyenv MY_VERSION) です
scan_for_pyfiles true If false, Python files in the current directory will not show this module.
style "bold yellow" モジュールのスタイルです。
disabled false pythonモジュールを無効にします。
This module has some advanced configuration options.
変数 デフォルト 説明
python_binary python Configures the python binary that Starship executes when getting the version.

The python_binary variable changes the binary that Starship executes to get the version of Python, it doesn't change the arguments that are used.

# ~/.config/starship.toml

[python]
python_binary = "python3"

# 設定例

# ~/.config/starship.toml

[python]
symbol = "👾 "
pyenv_version_name = true
pyenv_prefix = "foo "

# Ruby

rubyモジュールは、現在インストールされているRubyのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにGemfileファイルが含まれている
  • The current directory contains a .ruby-version file
  • カレントディレクトリに.rbの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "💎 " Rubyのバージョンを表示する前に使用される記号です。
style "bold red" モジュールのスタイルです。
disabled false rubyモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[ruby]
symbol = "🔺 "

# Rust

rustモジュールには、現在インストールされているRustのバージョンが表示されます。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにCargo.tomlファイルが含まれている
  • カレントディレクトリに.rsの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "🦀 " Rustのバージョンを表示する前に使用される記号です。
style "bold red" モジュールのスタイルです。
disabled false rustモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[rust]
symbol = "⚙️ "

# Singularity

The singularity module shows the current singularity image, if inside a container and $SINGULARITY_NAME is set.

# オプション

変数 デフォルト 説明
label "" Prefix before the image name display.
prefix "[" Prefix to display immediately before image name.
suffix "]" Suffix to display immediately after image name.
symbol "" The symbol used before the image name.
style "bold dimmed blue" モジュールのスタイルです。
disabled false Disables the singularity module.

# 設定例

# ~/.config/starship.toml

[singularity]
symbol = "📦 "

# Terraform

terraformモジュールには、現在選択されているterraformワークスペースとバージョンが表示されます。 デフォルトでは、Terraformのバージョンは表示されません。これは、多くのプラグインが使用されている場合、Terraformの現在のバージョンでは遅いためです。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリに.terraformフォルダが含まれている
  • カレントディレクトリに.tfの拡張子のファイルが含まれている

# オプション

変数 デフォルト 説明
symbol "💠 " Terraform ワークスペースを表示する前に使用される記号です。
show_version false Terraformのバージョンを表示します。 大きなワークスペースでは非常に遅くなります。
style "bold 105" モジュールのスタイルです。
disabled false terraformモジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[terraform]
symbol = "🏎💨 "

# 時刻

timeモジュールは、現在の現地時間を示します。 format設定は、時間の表示方法を制御するためにchronoクレートによって使用されます。 使用可能なオプションを確認するには、chrono strftimeのドキュメントをご覧ください。

TIP

このモジュールはデフォルトで無効になっています。 有効にするには、設定ファイルでdisabledfalseに設定します。

# オプション

変数 デフォルト 説明
use_12hr false Enables 12 hour formatting.
format この表の下を参照してください 時刻のフォーマットに使用されるクロノフォーマット文字列 です。
style "bold yellow" The style for the module time.
utc_time_offset "local" 使用するUTCオフセットを設定します。 -24から24までの間で設定可能です。 フロートが30/45分のタイムゾーンオフセットに対応できるようにします。
disabled true timeモジュールを無効にします。
time_range "-" Sets the time range during which the module will be shown. Times must be specified in 24-hours format

use_12hrtrue の場合、format のデフォルトは "%r" です。 それ以外の場合、デフォルトは"%T"です。 formatを手動で設定すると、use_12hrの設定が上書きされます。

# 設定例

# ~/.config/starship.toml

[time]
disabled = false
format = "🕙[ %T ]"
utc_time_offset = "-5"
time_range = "10:00:00-14:00:00"

# ユーザー名

usernameモジュールには、アクティブなユーザーのユーザー名が表示されます。 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントユーザーがroot
  • カレントユーザーが、ログインしているユーザーとは異なる
  • ユーザーがSSHセッションとして接続されている
  • show_always変数がtrueに設定されている

# オプション

変数 デフォルト 説明
style_root "bold red" ユーザーがrootのときに使用されるスタイルです。
style_user "bold yellow" 非rootユーザーに使用されるスタイルです。
show_always false username モジュールを常に表示します。
disabled false username モジュールを無効にします。

# 設定例

# ~/.config/starship.toml

[username]
disabled = true

# Zig

The zig module shows the currently installed version of Zig. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • The current directory contains a .zig file

# オプション

変数 デフォルト 説明
symbol "↯ " The symbol used before displaying the version of Zig.
style "bold yellow" モジュールのスタイルです。
disabled false Disables the zig module.

# 設定例

# ~/.config/starship.toml

[zig]
symbol = "⚡️ "

# Custom commands

The custom modules show the output of some arbitrary commands.

These modules will be shown if any of the following conditions are met:

  • The current directory contains a file whose name is in files
  • The current directory contains a directory whose name is in directories
  • The current directory contains a file whose extension is in extensions
  • The when command returns 0

TIP

Multiple custom modules can be defined by using a ..

TIP

The order in which custom modules are shown can be individually set by setting custom.foo in prompt_order. By default, the custom module will simply show all custom modules in the order they were defined.

# オプション

変数 デフォルト 説明
command The command whose output should be printed.
when A shell command used as a condition to show the module. The module will be shown if the command returns a 0 status code.
shell この表の下を参照してください
説明 "<custom module>" The description of the module that is shown when running starship explain.
files [] The files that will be searched in the working directory for a match.
directories [] The directories that will be searched in the working directory for a match.
extensions [] The extensions that will be searched in the working directory for a match.
symbol "" The symbol used before displaying the command output.
style "bold green" モジュールのスタイルです。
prefix "" Prefix to display immediately before the command output.
suffix "" Suffix to display immediately after the command output.
disabled false Disables this custom module.

# Custom command shell

shell accepts a non-empty list of strings, where:

  • The first string is the path to the shell to use to execute the command.
  • Other following arguments are passed to the shell.

If unset, it will fallback to STARSHIP_SHELL and then to "sh" on Linux, and "cmd /C" on Windows.

If shell is not given or only contains one element and Starship detects PowerShell will be used, the following arguments will automatically be added: -NoProfile -Command -. This behavior can be avoided by explicitly passing arguments to the shell, e.g.

shell = ["pwsh", "-Command", "-"]

Make sure your custom shell configuration exits gracefully

If you set a custom command, make sure that the default Shell used by starship will properly execute the command with a graceful exit (via the shell option).

For example, PowerShell requires the -Command parameter to execute a one liner. Omitting this parameter might throw starship into a recursive loop where the shell might try to load a full profile environment with starship itself again and hence re-execute the custom command, getting into a never ending loop.

Parameters similar to -NoProfile in PowerShell are recommended for other shells as well to avoid extra loading time of a custom profile on every starship invocation.

Automatic detection of shells and proper parameters addition are currently implemented, but it's possible that not all shells are covered. Please open an issue with shell details and starship configuration if you hit such scenario.

# 設定例

# ~/.config/starship.toml

[custom.foo]
command = "echo foo"  # shows output of command
files = ["foo"]       # can specify filters
when = """ test "$HOME" == "$PWD" """
prefix = " transcending "

[custom.time]
command = "time /T"
files = ["*.pst"]
prefix = "transcending "
shell = ["pwsh.exe", "-NoProfile", "-Command", "-"]

# PureScript

The purescript module shows the currently installed version of PureScript version. 次の条件のいずれかが満たされると、モジュールが表示されます。

  • カレントディレクトリにspago.dhallファイルが含まれている
  • The current directory contains a *.purs files

# オプション

変数 デフォルト 説明
symbol "<=> " The symbol used before displaying the version of PureScript.
style "bold white" モジュールのスタイルです。
disabled false Disables the purescript module.

# 設定例

# ~/.config/starship.toml

[purescript]
symbol = "<=> "