starship/docs/ja/config/README.md

621 lines
24 KiB
Markdown
Raw Normal View History

# 設定
::: tip
🔥Starshipの開発は現在も進んでいます。多くの新しいオプションが今後のリリースで利用可能になります。
:::
starshipの設定を開始するには、`~/.config/starship.toml` ファイルを作成します。
```shell
$ touch ~/.config/starship.toml
```
starshipのすべての設定は、この[TOML](https://github.com/toml-lang/toml)ファイルで行われます。
```toml
# プロンプト表示時に改行しない
add_newline = false
# "" から "➜" に表示を変更
[character] # The name of the module we are confguring is "character"
symbol = "➜" # The "symbol" segment is being set to "➜"
# packageモジュールを無効にする
[package]
disabled = true
```
### 用語
**モジュール**: OSのコンテキスト情報に基づいて情報を提供するプロンプト内のコンポーネントです。たとえば、現在のディレクトリがNodeJSプロジェクトである場合、「nodejs」モジュールは、現在コンピューターにインストールされているNodeJSのバージョンを表示します。
**セグメント**: モジュールを構成する小さなサブコンポーネントです。たとえば、「nodejs」モジュールの「symbol」セグメントには、バージョン番号の前に表示される文字が含まれていますデフォルト: ⬢)。
以下はNode モジュールの表現です。次の例では、「シンボル」と「バージョン」はその中のセグメントです。すべてのモジュールには、デフォルトの端末色であるprefixとsuffixもあります。
```
[prefix] [symbol] [version] [suffix]
"via " "⬢" "v10.4.1" ""
```
### スタイルの設定
starshipのほとんどのモジュールでは、表示スタイルを設定できます。これは、設定を指定する文字列であるエントリ`style`)で行われます。スタイル文字列の例とその機能を次に示します。完全な構文の詳細については、詳細は [高度な設定](/advanced-config/)を参照してください 。
- `"fg:green bg:blue"`は、青色の背景に緑色のテキストを設定します
- `"bg:blue fg:bright-green"`は、青色の背景に明るい緑色のテキストを設定します
- `"bold fg:27"`は、 [ANSIカラー](https://i.stack.imgur.com/KTSQa.png) 27の太字テキストを設定します
- `"underline bg:#bf5700"`は、焦げたオレンジ色の背景に下線付きのテキストを設定します
- `""`はすべてのスタイルを明示的に無効にします
スタイリングがどのように見えるかは、端末エミュレータによって制御されることに注意してください。たとえば、一部の端末エミュレータはテキストを太字にする代わりに色を明るくします。また、一部のカラーテーマは通常の色と明るい色と同じ値を使用します。
## プロンプト
これは、プロンプト全体のオプションのリストです。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`add_newline` | `true` | プロンプトの開始前に新しい行を追加します。
`prompt_order` | [link](#%E3%83%87%E3%83%95%E3%82%A9%E3%83%AB%E3%83%88%E3%81%AE%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E9%A0%86) | プロンプトモジュールを出力する順序を設定します。
### 設定例
```toml
# ~/.config/starship.toml
# プロンプト表示の改行を無効にする
add_newline = false
# デフォルトのプロンプト表示順を書き換える
prompt_order=["rust","line_break","package","line_break","character"]
```
### デフォルトのプロンプト表示順
`default_prompt_order`オプションは、空または`prompt_order`が指定されていない場合に、プロンプトにモジュールが表示される順序を定義するために使用されます。デフォルトは次のとおりです。
```
default_prompt_order = [
"username",
"hostname",
"directory",
"git_branch",
"git_state",
"git_status",
"package",
"nodejs",
"ruby",
"rust",
"python",
"golang",
"nix_shell",
"cmd_duration",
"line_break",
"jobs",
"time",
"battery",
"character",
]
```
## バッテリー
`battery`モジュールは、デバイスのバッテリー残量と現在の充電状態を示します。モジュールは、デバイスのバッテリー残量が10未満の場合にのみ表示されます。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`full_symbol` | `"•"` | バッテリーが満タンのときに表示される記号です。
`charging_symbol` | `"⇡"` | バッテリーの充電中に表示される記号です。
`discharging_symbol` | `"⇣"` | バッテリーが放電しているときに表示される記号です。
`style` | `"bold red"` | モジュールのスタイルです。
`disabled` | `false` | `battery`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[battery]
full_symbol = "🔋"
charging_symbol = "⚡️"
discharging_symbol = "💀"
```
## 文字
`character`モジュールは、端末でテキストが入力される場所の横に文字(通常は矢印)を表示します。
文字は、最後のコマンドが成功したかどうかを示します。これは、色の変更(赤/緑)またはその形状の変更(/✖)の2つの方法で行うことができます。後者は`use_symbol_for_status`に`true`設定されている場合にのみ行われます。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `""` | プロンプトでテキストを入力する前に使用される記号です。
`error_symbol` | `"✖"` | 前のコマンドが失敗した場合にテキスト入力の前に使用される記号です。
`use_symbol_for_status` | `false` | シンボルを変更してエラーステータスを示します。
`vicmd_symbol` | `""` | シェルがvimの通常モードである場合、プロンプトのテキスト入力の前に使用される記号です。
`style_success` | `"bold green"` | 最後のコマンドが成功した場合に使用されるスタイルです。
`style_failure` | `"bold red"` | 最後のコマンドが失敗した場合に使用されるスタイルです。
`disabled` | `false` | `character`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[character]
symbol = "➜"
error_symbol = "✗"
use_symbol_for_status = true
```
## コマンド実行時間
`cmd_duration`モジュールは、最後のコマンドの実行にかかった時間を示します。モジュールが表示されるのは、コマンドが2秒以上かかった場合、または`min_time`値が存在する場合のみです。
::: warning BashでDEBUGトラップをhookしない
`bash`でStarshipを実行している場合、 `eval $(starship init $0)`実行した後に`DEBUG`トラップをフックしないでください。そうしないと、このモジュールが**おそらくですが**壊れます。
:::
preexecのような機能を必要とするBashユーザーは、 [rcalorasのbash_preexecフレームワーク](https://github.com/rcaloras/bash-preexec)を使用できます。 `eval $(starship init $0)` を実行する前に、`preexec_functions` 、および`precmd_functions`定義するだけで、通常どおり続行します。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`min_time` | `2` | 時間を表示する最短期間です。
`style` | `"bold yellow"` | モジュールのスタイルです。
`disabled` | `false` | `cmd_duration`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[cmd_duration]
min_time = 4
```
## ディレクトリ
`directory`モジュールには、現在のディレクトリへのパスが表示され、3つの親フォルダは切り捨てられます。ディレクトリは、現在のgitリポジトリであるとルートとなります。
fishスタイルのpwdオプションを使用すると、切り捨てられたパスを非表示にする代わりに、オプションで有効にした番号に基づいて各ディレクトリの短縮名が表示されます。
たとえば、`~/Dev/Nix/nixpkgs/pkgs`で、`nixpkgs`がリポジトリルートであり、オプションが`1`に設定されている場合、`~/D/N/nixpkgs/pkgsが表示されますが、以前はnixpkgs/pkgs`でした。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`truncation_length` | `3` | 現在のディレクトリを切り捨てる親フォルダーの数です。
`truncate_to_repo` | `true` | 現在いるgitリポジトリのルートに切り捨てるかどうかです。
`fish_style_pwd_dir_length` | `0` | fish shellのpwdパスロジックを適用するときに使用する文字数です。
`style` | `"bold cyan"` | モジュールのスタイルです。
`disabled` | `false` | `directory`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[directory]
truncation_length = 8
```
## Git ブランチ
`git_branch`Moduleは、現在のディレクトリにあるレポのアクティブなブランチを表示します。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `" "` | 現在のディレクトリのリポジトリのブランチ名の前に使用されるシンボルです。
`truncation_length` | `2^63 - 1` | gitブランチをX書記素に切り捨てます
`truncation_symbol` | `"…"` | ブランチ名切り捨てられていることを示すための記号です。記号なしに「」も使用できます。
`style` | `"bold purple"` | モジュールのスタイルです。
`disabled` | `false` | `git_branch`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[git_branch]
symbol = "🌱 "
truncation_length = "4"
truncation_symbol = ""
```
## Git の進行状態
`git_state` Module はgitディレクトリの進行状態を表します。
例: *REBASING*, *BISECTING*, その他
進捗情報がある場合(例: REBASING 3/10)はその情報も表示されます。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`rebase` | `"REBASING"` | `rebase`進行中に表示されるテキストです。
`merge` | `"MERGING"` | `merge`進行中に表示されるテキストです。
`revert` | `"REVERTING"` | `revert`進行中に表示されるテキストです。
`cherry_pick` | `"CHERRY-PICKING"` | `cherry-pick`進行中に表示されるテキストです。
`bisect` | `"BISECTING"` | `bisect`進行中に表示されるテキストです。
`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`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[git_state]
progress_divider = " of "
cherry_pick = "🍒 PICKING"
```
## Gitの状態
`git_status`モジュールは、現在のディレクトリのリポジトリの状態を表すシンボルを表示します。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`conflicted` | `"="` | このブランチにはマージの競合があります。
`ahead` | `"⇡"` | このブランチは、追跡されるブランチよりも先にあります。
`behind` | `"⇣"` | このブランチは、追跡されているブランチの背後にあります。
`diverged` | `"⇕"` | このブランチは、追跡されているブランチから分岐しています。
`untracked` | `"?"` | 作業ディレクトリに追跡されていないファイルがあります。
`stashed` | `"$"` | ローカルリポジトリ用のスタッシュが存在します。
`modified` | `"!"` | 作業ディレクトリにファイルの変更があります。
`staged` | `"+"` | 新しいファイルがステージング領域に追加されました。
`renamed` | `"»"` | 名前が変更されたファイルがステージング領域に追加されました。
`deleted` | `"✘"` | ファイルの削除がステージング領域に追加されました。
`show_sync_count` | `false` | 追跡されているブランチの先行/後方カウントを表示します。
`style` | `"bold red"` | モジュールのスタイルです。
`disabled` | `false` | `git_status`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[git_status]
conflicted = "🏳"
ahead = "🏎💨"
behind = "😰"
diverged = "😵"
untracked = "🤷‍"
stashed = "📦"
modified = "📝"
staged = ""
renamed = "👅"
deleted = "🗑"
```
## Golang
`golang`モジュールは、現在インストールされているGolangのバージョンを示します。次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`go.mod`ファイルが含まれている
- カレントディレクトリに`go.sum`ファイルが含まれている
- カレントディレクトリに`glide.yaml`ファイルが含まれている
- カレントディレクトリに`Gopkg.yml`ファイルが含まれている
- カレントディレクトリに`Gopkg.lock`ファイルが含まれている
- カレントディレクトリに`Godeps`ファイルが含まれている
- カレントディレクトリに`.go`の拡張子のファイルが含まれている
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"🐹 "` | Golangのバージョンを表示する前に使用される記号です。
`style` | `"bold cyan"` | モジュールのスタイルです。
`disabled` | `false` | `golang`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[golang]
symbol = "🏎💨 "
```
## ホスト名
`hostname`モジュールには、システムのホスト名が表示されます。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`ssh_only` | `true` | SSHセッションに接続されている場合にのみホスト名を表示します。
`prefix` | `""` | ホスト名の直前に表示するprefixです。
`suffix` | `""` | ホスト名の直後に表示するsuffixです。
`style` | `"bold dimmed green"` | モジュールのスタイルです。
`disabled` | `false` | `hostname`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[hostname]
ssh_only = false
prefix = "⟪"
suffix = "⟫"
disabled = false
```
## ジョブ
`jobs`モジュールには、実行中のジョブの現在の数が表示されます。このモジュールは、実行中のバックグラウンドジョブがある場合にのみ表示されます。1つ以上のジョブがある、または`threshold`に指定した値以上にジョブがある場合は実行中のジョブの数を表示します。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"✦ "` | ジョブの数を表示する前に使用される記号です。
`threshold` | `1` | 超過した場合、ジョブの数を表示します。
`style` | `"bold blue"` | モジュールのスタイルです。
`disabled` | `false` | `jobs`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[jobs]
symbol = "+ "
threshold = 4
```
## 改行
`line_break`モジュールは、プロンプトを2行に分割します。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`disabled` | `false` | `line_break`モジュールを無効にして、プロンプトを1行にします。
### 設定例
```toml
# ~/.config/starship.toml
[line_break]
disabled = true
```
## Nix-shell
`nix_shell`モジュールは、nix-shell環境を示しています。このモジュールは、nixシェル環境内にあるときに表示されます。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`use_name` | `false` | nix-shellの名前を表示します。
`impure_msg` | `impure` | impureメッセージをカスタマイズします。
`pure_msg` | `pure` | pureメッセージをカスタマイズします。
`style` | `"bold red"` | モジュールのスタイルです。
`disabled` | `false` | `nix_shell`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[nix_shell]
disabled = true
use_name = true
impure_msg = "impure shell"
pure_msg = "pure shell"
```
## NodeJS
`nodejs`モジュールは、現在インストールされているNodeJSのバージョンを示します。次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`package.json`ファイルが含まれている
- カレントディレクトリに`node_modules`ディレクトリが含まれている
- カレントディレクトリに`.js`の拡張子のファイルが含まれている
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"⬢ "` | NodeJSのバージョンを表示する前に使用される記号です。
`style` | `"bold green"` | モジュールのスタイルです。
`disabled` | `false` | `nodejs`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[nodejs]
symbol = "🤖 "
```
## パッケージのバージョン
`package`モジュールは、現在のディレクトリがパッケージのリポジトリである場合に表示され、現在のバージョンが表示されます。このモジュールは現在、 `npm``cargo` 、および`poetry`パッケージをサポートしています。
- **npm** `npm`パッケージバージョンは、現在のディレクトリにある`package.json`から抽出されます
- **cargo** `cargo`パッケージバージョンは、現在のディレクトリにある`Cargo.toml`から抽出されます。
- **poetry** `poetry`パッケージバージョンは、現在のディレクトリにある`pyproject.toml`から抽出されます
> ⚠️ 表示されるバージョンは、パッケージマネージャーではなく、ソースコードが現在のディレクトリにあるパッケージのバージョンです。
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"📦 "` | パッケージのバージョンを表示する前に使用される記号です。
`style` | `"bold red"` | モジュールのスタイルです。
`disabled` | `false` | `package`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[package]
symbol = "🎁 "
```
## Python
`python`モジュールは、現在インストールされているPythonのバージョンを示します。
`pyenv_version_name`が`true`に設定されている場合 、pyenvでのバージョン名が表示されます 。
それ以外の場合は、 `python --version`バージョン番号が表示され、アクティブになっている場合は現在のPython仮想環境が表示されます。
次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`.python-version`ファイルが含まれている
- カレントディレクトリに`requirements.txt`ファイルが含まれている
- カレントディレクトリに`pyproject.toml`ファイルが含まれている
- カレントディレクトリに`.py`の拡張子のファイルが含まれている
- カレントディレクトリに`Pipfile`ファイルが含まれている
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"🐍 "` | Pythonのバージョンを表示する前に使用される記号です。
`pyenv_version_name` | `false` | pyenvを使用してPythonバージョンを取得します
`pyenv_prefix` | `"pyenv "` | pyenvバージョン表示の前のprefixデフォルトの表示は`pyenv MY_VERSION` )です
`style` | `"bold yellow"` | モジュールのスタイルです。
`disabled` | `false` | `python`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[python]
symbol = "👾 "
pyenv_version_name = true
pyenv_prefix = "foo "
```
## Ruby
`ruby`モジュールは、現在インストールされているRubyのバージョンを示します。次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`Gemfile`ファイルが含まれている
- カレントディレクトリに`.rb`の拡張子のファイルが含まれている
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"💎 "` | Rubyのバージョンを表示する前に使用される記号です。
`style` | `"bold red"` | モジュールのスタイルです。
`disabled` | `false` | `ruby`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[ruby]
symbol = "🔺 "
```
## Rust
`rust`モジュールには、現在インストールされているRustのバージョンが表示されます。次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`Cargo.toml`ファイルが含まれている
- カレントディレクトリに`.rs`の拡張子のファイルが含まれている
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`symbol` | `"🦀 "` | Rustのバージョンを表示する前に使用される記号です。
`style` | `"bold red"` | モジュールのスタイルです。
`disabled` | `false` | `rust`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[rust]
symbol = "⚙️ "
```
## 時刻
`time`モジュールは、現在の**現地**時間を示します。 `format`設定は、時間の表示方法を制御するために[`chrono`](https://crates.io/crates/chrono)クレートによって使用されます。使用可能なオプションを確認するには、[chrono strftimeのドキュメント](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html)をご覧ください。
::: tip
このモジュールはデフォルトで無効になっています。有効にするには、設定ファイルで`disabled`を`false`に設定します。
:::
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`12hr` | `false` | 12時間のフォーマットを有効にします。
`format` | この表の下を参照してください | 時刻のフォーマットに使用される[クロノフォーマット文字列](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) です。
`style` | `bold yellow` | モジュールのスタイルです。
`disabled` | `true` | `time`モジュールを無効にします。
`12hr`が`true` 、 `format`デフォルトで`"%r"`です。それ以外の場合、デフォルトは`"%T"`です。 `format`を手動で設定すると、 `12hr`の設定が上書きされます。
### 設定例
```toml
# ~/.config/starship.toml
[time]
disabled = false
format = "🕙[ %T ]"
```
## ユーザ名
`username`モジュールには、アクティブなユーザーのユーザー名が表示されます。次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントユーザーがroot
- カレントユーザーが、ログインしているユーザーとは異なる
- ユーザーがSSHセッションとして接続されている
### オプション
変数 | デフォルト | 説明
--- | --- | ---
`style_root` | `"bold red"` | ユーザーがrootのときに使用されるスタイルです。
`style_user` | `"bold yellow"` | 非rootユーザーに使用されるスタイルです。
`disabled` | `false` | `username`モジュールを無効にします。
### 設定例
```toml
# ~/.config/starship.toml
[username]
disabled = true
```