# 設定
Starshipの設定を開始するには、`~/.config/starship.toml` ファイルを作成します。
```sh
mkdir -p ~/.config && touch ~/.config/starship.toml
```
Starshipのすべての設定は、この[TOML](https://github.com/toml-lang/toml)ファイルで行われます。
```toml
# プロンプトの先頭に改行を表示しません
add_newline = false
# プロンプトの「❯」記号を「➜」に置き換えます
[character] # 設定しているモジュールの名前は「character」です
success_symbol = "[➜](bold green)" # 「success_symbol」セグメントは「ボールドグリーン」の色で「➜」に設定されています
# package モジュールを無効にし、プロンプトから完全に隠します
[package]
disabled = true
```
`STARSHIP_CONFIG` 環境変数を使用して、デフォルトの`starship.toml` ファイルの場所を変更できます。
```sh
export STARSHIP_CONFIG=~/.starship
```
PowerShell (Windows) で同様に `$PROFILE`にこの行を追加します。
```ps1
$ENV:STARSHIP_CONFIG = "$HOME\.starship"
```
### Logging
By default starship logs warnings and errors into a file named `~/.cache/starship/session_${STARSHIP_SESSION_KEY}.log`, where the session key is corresponding to a instance of your terminal. This, however can be changed using the `STARSHIP_CACHE` environment variable:
```sh
export STARSHIP_CACHE=~/.starship/cache
```
PowerShell (Windows) で同様に `$PROFILE`にこの行を追加します。
```ps1
$ENV:STARSHIP_CACHE = "$HOME\AppData\Local\Temp"
```
### 用語
**モジュール**: OSのコンテキスト情報に基づいて情報を提供するプロンプト内のコンポーネントです。 たとえば、現在のディレクトリがNodeJSプロジェクトである場合、「nodejs」モジュールは、現在コンピューターにインストールされているNodeJSのバージョンを表示します。
**変数**: モジュールが提供する情報を含むサブコンポーネントを小さくする。 例えば、"nodejs" モジュール内の "version" 変数には、NodeJS の現在のバージョンが含まれています。
慣例により、ほとんどのモジュールにはデフォルトの端末色の接頭辞(「nodejs」の`via` など)と接尾辞として空のスペースがあります。
### 文字列のフォーマット
文字列の書式は、モジュールがすべての変数を出力する書式です。 ほとんどのモジュールには、モジュールの表示形式を設定する `format` というエントリがあります。 テキスト、変数、およびテキストグループをフォーマット文字列で使用できます。
#### 変数
変数には、 `$` 記号と、その変数の名前が続きます。 変数の名前は、文字、数字、 `_` のみを含みます。
例:
- `$version` は、`version` という名前の変数を持つフォーマット文字列です。
- `$git_branch$git_commit` は `git_branch` と `git_commit` という2つの変数を持つフォーマット文字列です。
- `$git_branch $git_commit` には空白で区切られた 2 つの変数があります。
#### テキストグループ
テキストグループは二つの異なる部分で構成されています。
`[]`で囲まれている最初の部分は、 [フォーマット文字列](#format-strings) です。 テキスト、変数、または入れ子になったテキストグループを追加できます。
2 番目の部分では、 `()`で囲まれている [スタイル文字列](#style-strings) です。 これは最初のパートのスタイルを使用することができます。
例:
- `[on](red bold)` は文字列 `on` に太字のテキストを赤色で表示します。
- `[⬢ $version](bold green)` はシンボル `⬢` の後に変数 `バージョン`の内容を表示します 緑色の太字を付けています
- `[a [b](red) c](green)` は `a b c` を `b` だけ赤色に表示し、 `a` と `c` を緑色に表示します。
#### スタイルの設定
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"` は、焦げたオレンジ色の背景に下線付きのテキストを設定します
- `"bold italic fg:purple"`は、紫色の太字斜体のテキストを設定します
- `""` はすべてのスタイルを明示的に無効にします
スタイリングがどのように見えるかは、端末エミュレータによって制御されることに注意してください。 たとえば、一部の端末エミュレータはテキストを太字にする代わりに色を明るくします。また、一部のカラーテーマは通常の色と明るい色と同じ値を使用します。 また、斜体のテキストを取得するには、端末で斜体をサポートする必要があります。
#### 条件付きフォーマット設定
`(` と `)` 内のすべての変数が空の場合、条件付き書式文字列はレンダリングされません。
例:
- `(@$region)` will show nothing if the variable `region` is `None`, otherwise `@` followed by the value of region.
- `(some text)` will always show nothing since there are no variables wrapped in the braces.
- When `$all` is a shortcut for `\[$a$b\]`, `($all)` will show nothing only if `$a` and `$b` are both `None`. This works the same as `(\[$a$b\] )`.
#### エスケープ可能な文字
以下の記号は、フォーマット文字列に特別な使用法があります。 次の記号を印刷したい場合は、バックスラッシュ(`\`)でエスケープする必要があります。
- \$
- \\
- [
- ]
- (
- )
Note that `toml` has [its own escape syntax](https://github.com/toml-lang/toml#user-content-string). It is recommended to use a literal string (`''`) in your config. If you want to use a basic string (`""`), pay attention to escape the backslash `\`.
For example, when you want to print a `$` symbol on a new line, the following configs for `format` are equivalent:
```toml
# 基本文字列と
format = "\n\\$"
# 複数行の基本文字列と
format = """
\\$"""
# リテラル文字列と
format = '''
\$'''
```
## プロンプト
これは、プロンプト全体のオプションのリストです。
### オプション
| オプション | デフォルト | 説明 |
| -------------- | ------------------------------ | ---------------------------------------- |
| `format` | [link](#default-prompt-format) | プロンプトの形式を設定します。 |
| `scan_timeout` | `30` | ファイルをスキャンする際のタイムアウト時間 (milliseconds) です。 |
| `add_newline` | `true` | プロンプトの開始前に新しい行を追加します。 |
### 設定例
```toml
# ~/.config/starship.toml
# カスタムフォーマットを利用します
format = """
[┌───────────────────>](bold green)
[│](bold green)$directory$rust$package
[└─>](bold green) """
# starshipが現在のディレクトリ下のファイルをチェックするまで10ミリ秒待ちます
scan_timeout = 10
# プロンプトの 先頭での改行を無効にする
add_newline = false
```
### デフォルトのプロンプトフォーマット
デフォルトの `format` は、空または `format` が指定されていない場合、プロンプトのフォーマットを定義するために使用されます。 デフォルトは次のとおりです。
```toml
format = "$all"
# Which is equivalent to
format = """
$username\
$hostname\
$shlvl\
$kubernetes\
$directory\
$git_branch\
$git_commit\
$git_state\
$git_status\
$hg_branch\
$docker_context\
$package\
$cmake\
$dart\
$dotnet\
$elixir\
$elm\
$erlang\
$golang\
$helm\
$java\
$julia\
$nim\
$nodejs\
$ocaml\
$perl\
$php\
$purescript\
$python\
$ruby\
$rust\
$swift\
$terraform\
$zig\
$nix_shell\
$conda\
$memory_usage\
$aws\
$gcloud\
$env_var\
$crystal\
$cmd_duration\
$custom\
$line_break\
$jobs\
$battery\
$time\
$status\
$character"""
```
## AWS
`aws` モジュールは現在のAWSプロファイルが表示されます。 これは `~/.aws/config` に記述されている `AWS_REGION`, `AWS_DEFAULT_REGION`, and `AWS_PROFILE` 環境変数に基づいています。
[aws-vault](https://github.com/99designs/aws-vault)を使用する場合、プロファイル は`AWS_VAULT`env varから読み取られます。
### オプション
| オプション | デフォルト | 説明 |
| ---------------- | ------------------------------------------------ | ----------------------------- |
| `format` | `'on [$symbol$profile(\($region\))]($style) '` | moduleのフォーマットです。 |
| `symbol` | `"☁️ "` | 現在のAWSプロファイルを表示する前に表示される記号です。 |
| `region_aliases` | | AWS名に加えて表示するリージョンのエイリアスです。 |
| `style` | `"bold yellow"` | モジュールのスタイルです。 |
| `disabled` | `false` | `aws`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ---------------- | ---------------------- |
| region | `ap-northeast-1` | 現在のAWSリージョン |
| profile | `astronauts` | 現在のAWSプロファイル |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
#### すべてを表示
```toml
# ~/.config/starship.toml
[aws]
format = 'on [$symbol$profile(\($region\))]($style) '
style = "bold blue"
symbol = "🅰 "
[aws.region_aliases]
ap-southeast-2 = "au"
us-east-1 = "va"
```
#### リージョンを表示
```toml
# ~/.config/starship.toml
[aws]
format = "on [$symbol$region]($style) "
style = "bold blue"
symbol = "🅰 "
[aws.region_aliases]
ap-southeast-2 = "au"
us-east-1 = "va"
```
#### プロファイルを表示
```toml
# ~/.config/starship.toml
[aws]
format = "on [$symbol$profile]($style) "
style = "bold blue"
symbol = "🅰 "
```
## バッテリー
`battery`モジュールは、デバイスのバッテリー残量と現在の充電状態を示します。 モジュールは、デバイスのバッテリー残量が10%未満の場合にのみ表示されます。
### オプション
| オプション | デフォルト | 説明 |
| -------------------- | --------------------------------- | ------------------------- |
| `full_symbol` | `"•"` | バッテリーが満タンのときに表示される記号です。 |
| `charging_symbol` | `"⇡"` | バッテリーの充電中に表示される記号です。 |
| `discharging_symbol` | `"⇣"` | バッテリーが放電しているときに表示される記号です。 |
| `format` | `"[$symbol$percentage]($style) "` | moduleのフォーマットです。 |
| `display` | [link](#battery-display) | モジュールの閾値とスタイルを表示します。 |
| `disabled` | `false` | `battery`モジュールを無効にします。 |
いくつかのまれなバッテリー状態のオプションもあります。
| 変数 | 説明 |
| ---------------- | ------------------------ |
| `unknown_symbol` | バッテリー状態が不明なときに表示される記号です。 |
| `empty_symbol` | バッテリーが空のときに表示される記号です。 |
オプションを指定しない限り、バッテリーの状態が`unknown`もしくは`empty`になった場合にインジケーターは非表示になります。
このモジュールは、どのようにディレクトリを表示するかについての高度なオプションをいくつか持っています。
| Advanced Option | デフォルト | 説明 |
| --------------------------- | ------ | ------------------------------------------------ |
| `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.
```toml
[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`.
デフォルトでは、システムスワップの合計がゼロ以外の場合、スワップ使用量が表示されます。
::: tip
このモジュールはデフォルトで無効になっています。
有効にするには、設定ファイルでdisabled`を`false`に設定します。
:::
### オプション
| オプション | デフォルト | 説明 |
| ----------- | --------------------------------------------- | --------------------------- |
| `threshold` | `75` | この閾値を超えない限り、メモリ使用率は表示されません。 |
| `format` | `"via $symbol [${ram}( | ${swap})]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"🐏"` | メモリ使用率を表示する前に使用される記号です。 |
| `style` | `"bold dimmed white"` | モジュールのスタイルです。 |
| `disabled` | `true` | `memory_usage`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| ---------------- | ------------- | ------------------------------------------------------------------ |
| ram | `31GiB/65GiB` | The usage/total RAM of the current system memory. |
| ram_pct | `48%` | The percentage of the current system memory. |
| swap\*\* | `1GiB/4GiB` | The swap memory size of the current system swap memory file. |
| swap_pct\*\* | `77%` | The swap memory percentage of the current system swap memory file. |
| symbol | `🐏` | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: This variable can only be used as a part of a style string \*\*: The SWAP file information is only displayed if detected on the current system
### 設定例
```toml
# ~/.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. |
| `style` | `"bold purple"` | モジュールのスタイルです。 |
| `format` | `"on [$symbol$branch]($style) "` | moduleのフォーマットです。 |
| `truncation_length` | `2^63 - 1` | Truncates the hg branch name to X graphemes |
| `truncation_symbol` | `"…"` | ブランチ名切り捨てられていることを示すための記号です。 |
| `disabled` | `true` | Disables the `hg_branch` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | --------------------------- |
| branch | `master` | The active mercurial branch |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[hg_branch]
format = "on [🌱 $branch](bold purple)"
truncation_length = 4
truncation_symbol = ""
```
## Nim
The `nim` module shows the currently installed version of Nim. 次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`nim.cfg`ファイルが含まれている
- 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
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | ----------------------------------------------------- |
| `format` | `"via [$symbol$version]($style) "` | The format for the module |
| `symbol` | `"👑 "` | The symbol used before displaying the version of Nim. |
| `style` | `"bold yellow"` | モジュールのスタイルです。 |
| `disabled` | `false` | Disables the `nim` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | ---------------------- |
| version | `v1.2.0` | The version of `nimc` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[nim]
style = "yellow"
symbol = "🎣 "
```
## Nix-shell
`nix_shell`モジュールは、nix-shell環境を示しています。 このモジュールは、nixシェル環境内にあるときに表示されます。
### オプション
| オプション | デフォルト | 説明 |
| ------------ | ---------------------------------------------- | ----------------------------------------------------- |
| `format` | `'via [$symbol$state( \($name\))]($style) '` | moduleのフォーマットです。 |
| `symbol` | `"❄️ "` | A format string representing the symbol of nix-shell. |
| `style` | `"bold blue"` | モジュールのスタイルです。 |
| `impure_msg` | `"impure"` | A format string shown when the shell is impure. |
| `pure_msg` | `"pure"` | A format string shown when the shell is pure. |
| `disabled` | `false` | `nix_shell`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ------- | -------------------------- |
| state | `pure` | The state of the nix-shell |
| name | `lorri` | The name of the nix-shell |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[nix_shell]
disabled = true
impure_msg = "[impure shell](bold red)"
pure_msg = "[pure shell](bold green)"
format = 'via [☃️ $state( \($name\))](bold blue) '
```
## NodeJS
`nodejs`モジュールは、現在インストールされているNodeJSのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`package.json`ファイルが含まれている
- The current directory contains a `.node-version` file
- カレントディレクトリに`node_modules`ディレクトリが含まれている
- The current directory contains a file with the `.js`, `.mjs` or `.cjs` extension
- The current directory contains a file with the `.ts` extension
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | -------------------------------------------------- |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"⬢ "` | A format string representing the symbol of NodeJS. |
| `style` | `"bold green"` | モジュールのスタイルです。 |
| `disabled` | `false` | `nodejs`モジュールを無効にします。 |
### Variables
| 変数 | 設定例 | 説明 |
| --------- | ---------- | ---------------------- |
| version | `v13.12.0` | The version of `node` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[nodejs]
format = "via [🤖 $version](bold green) "
```
## パッケージのバージョン
`package`モジュールは、現在のディレクトリがパッケージのリポジトリである場合に表示され、現在のバージョンが表示されます。 The module currently supports `npm`, `cargo`, `poetry`, `composer`, `gradle`, `julia`, `mix` and `helm` packages.
- **npm** – `npm`パッケージバージョンは、現在のディレクトリにある`package.json`から抽出されます
- **cargo** – `cargo`パッケージバージョンは、現在のディレクトリにある`Cargo.toml`から抽出されます。
- **poetry** – `poetry`パッケージバージョンは、現在のディレクトリにある`pyproject.toml`から抽出されます
- **composer** – `composer`パッケージバージョンは、現在のディレクトリにある`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
- **helm** - The `helm` chart version is extracted from the `Chart.yaml` present
- **maven** - The `maven` package version is extracted from the `pom.xml` present
> ⚠️ 表示されるバージョンは、パッケージマネージャーではなく、ソースコードが現在のディレクトリにあるパッケージのバージョンです。
### オプション
| オプション | デフォルト | 説明 |
| ----------------- | ---------------------------------- | --------------------------------------------------------- |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"📦 "` | パッケージのバージョンを表示する前に使用される記号です。 |
| `style` | `"bold 208"` | モジュールのスタイルです。 |
| `display_private` | `false` | Enable displaying version for packages marked as private. |
| `disabled` | `false` | `package` モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | --------------------------- |
| version | `v1.0.0` | The version of your package |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[package]
format = "via [🎁 $version](208 bold) "
```
## 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
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | ------------------------------------------------------- |
| `format` | `"via [$symbol$version]($style) "` | The format string for the module. |
| `symbol` | `"🐫 "` | The symbol used before displaying the version of OCaml. |
| `style` | `"bold yellow"` | モジュールのスタイルです。 |
| `disabled` | `false` | Disables the `ocaml` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | --------- | ---------------------- |
| version | `v4.10.0` | The version of `ocaml` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[ocaml]
format = "via [🐪 $version]($style) "
```
## Perl
The `perl` module shows the currently installed version of Perl. 次の条件のいずれかが満たされると、モジュールが表示されます。
- The current directory contains a `Makefile.PL` or `Build.PL` file
- The current directory contains a `cpanfile` or `cpanfile.snapshot` file
- The current directory contains a `META.json` file or `META.yml` file
- The current directory contains a `.perl-version` file
- The current directory contains a `.pl`, `.pm` or `.pod`
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | ----------------------------------------------------- |
| `format` | `"via [$symbol$version]($style) "` | The format string for the module. |
| `symbol` | `"🐪 "` | The symbol used before displaying the version of Perl |
| `style` | `"bold 149"` | モジュールのスタイルです。 |
| `disabled` | `false` | Disables the `perl` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | --------- | ---------------------- |
| version | `v5.26.1` | The version of `perl` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
### 設定例
```toml
# ~/.config/starship.toml
[perl]
format = "via [🦪 $version]($style) "
```
## PHP
`php`モジュールは、現在インストールされているPHPのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`composer.json`ファイルが含まれている
- The current directory contains a `.php-version` file
- カレントディレクトリに`.php`の拡張子のファイルが含まれている
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | -------------------------- |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"🐘 "` | PHPのバージョンを表示する前に使用される記号です。 |
| `style` | `"147 bold"` | モジュールのスタイルです。 |
| `disabled` | `false` | `php`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | ---------------------- |
| version | `v7.3.8` | The version of `php` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[php]
format = "via [🔹 $version](147 bold) "
```
## 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
- 仮想環境がアクティブである
### オプション
| オプション | デフォルト | 説明 |
| -------------------- | ------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| `format` | `'via [${symbol}${pyenv_prefix}${version}( \($virtualenv\))]($style) '` | moduleのフォーマットです。 |
| `symbol` | `"🐍 "` | A format string representing the symbol of Python |
| `style` | `"yellow bold"` | モジュールのスタイルです。 |
| `pyenv_version_name` | `false` | pyenvを使用してPythonバージョンを取得します |
| `pyenv_prefix` | `pyenv` | Prefix before pyenv version display, only used if pyenv is used |
| `scan_for_pyfiles` | `true` | If false, Python files in the current directory will not show this module. |
| `python_binary` | `python` | Configures the python binary that Starship executes when getting the version. |
| `disabled` | `false` | `python`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| ------------ | --------------- | ------------------------------------------ |
| version | `"v3.8.1"` | The version of `python` |
| symbol | `"🐍 "` | オプション `記号` の値をミラーする |
| style | `"yellow bold"` | オプション `style` の値をミラーする |
| pyenv_prefix | `"pyenv "` | Mirrors the value of option `pyenv_prefix` |
| virtualenv | `"venv"` | The current `virtualenv` name |
### 設定例
```toml
# ~/.config/starship.toml
[python]
symbol = "👾 "
pyenv_version_name = true
```
Using the `python3` binary to get the version.
Note - 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.
```toml
# ~/.config/starship.toml
[python]
python_binary = "python3"
```
## Ruby
`ruby`モジュールは、現在インストールされているRubyのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`Gemfile`ファイルが含まれている
- The current directory contains a `.ruby-version` file
- カレントディレクトリに`.rb`の拡張子のファイルが含まれている
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | ------------------------------------------------ |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"💎 "` | A format string representing the symbol of Ruby. |
| `style` | `"bold red"` | モジュールのスタイルです。 |
| `disabled` | `false` | `ruby`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | ---------------------- |
| version | `v2.5.1` | The version of `ruby` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[ruby]
symbol = "🔺 "
```
## Rust
`rust`モジュールには、現在インストールされているRustのバージョンが表示されます。 次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`Cargo.toml`ファイルが含まれている
- カレントディレクトリに`.rs`の拡張子のファイルが含まれている
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | ----------------------------------------------- |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"🦀 "` | A format string representing the symbol of Rust |
| `style` | `"bold red"` | モジュールのスタイルです。 |
| `disabled` | `false` | `rust`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ----------------- | ---------------------- |
| version | `v1.43.0-nightly` | The version of `rustc` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[rust]
format = "via [⚙️ $version](red bold)"
```
## SHLVL
The `shlvl` module shows the current SHLVL ("shell level") environment variable, if it is set to a number and meets or exceeds the specified threshold.
### オプション
| オプション | デフォルト | 説明 |
| ----------- | ---------------------------- | --------------------------------------- |
| `threshold` | `2` | Display threshold. |
| `format` | `"[$symbol$shlvl]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"↕️ "` | The symbol used to represent the SHLVL. |
| `style` | `"bold yellow"` | モジュールのスタイルです。 |
| `disabled` | `true` | Disables the `shlvl` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | --- | -------------------------- |
| shlvl | `3` | The current value of SHLVL |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[shlvl]
disabled = false
format = "$shlvl level(s) down"
threshold = 3
```
## Singularity
The `singularity` module shows the current singularity image, if inside a container and `$SINGULARITY_NAME` is set.
### オプション
| オプション | デフォルト | 説明 |
| ---------- | -------------------------------- | ------------------------------------------------ |
| `format` | `'[$symbol\[$env\]]($style) '` | moduleのフォーマットです。 |
| `symbol` | `""` | A format string displayed before the image name. |
| `style` | `"bold dimmed blue"` | モジュールのスタイルです。 |
| `disabled` | `false` | Disables the `singularity` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ------------ | ----------------------------- |
| env | `centos.img` | The current singularity image |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[singularity]
format = '[📦 \[$env\]]($style) '
```
## Swift
The `swift` module shows the currently installed version of Swift. 次の条件のいずれかが満たされると、モジュールが表示されます。
- The current directory contains a `Package.swift` file
- The current directory contains a file with the `.swift` extension
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ---------------------------------- | ------------------------------------------------ |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `symbol` | `"🐦 "` | A format string representing the symbol of Swift |
| `style` | `"bold 202"` | モジュールのスタイルです。 |
| `disabled` | `false` | Disables the `swift` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | ---------------------- |
| version | `v5.2.4` | The version of `swift` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[swift]
format = "via [🏎 $version](red bold)"
```
## Status
The `status` module displays the exit code of the previous command. The module will be shown only if the exit code is not `0`.
::: tip
このモジュールはデフォルトで無効になっています。 有効にするには、設定ファイルで`disabled`を`false`に設定します。 :::
### オプション
| オプション | デフォルト | 説明 |
| ---------- | -------------------------- | ------------------------------------------------------ |
| `format` | `[$symbol$status]($style)` | The format of the module |
| `symbol` | `"✖"` | A format string representing the symbol for the status |
| `style` | `"bold red"` | モジュールのスタイルです。 |
| `disabled` | `true` | Disables the `status` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ----- | --------------------------------- |
| status | `127` | The exit code of the last command |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[status]
style = "bg:blue"
symbol = "💣 "
format = '[\[$symbol$status\]]($style) '
disabled = false
```
## Terraform
`terraform`モジュールには、現在選択されているterraformワークスペースとバージョンが表示されます。 デフォルトでは、Terraformのバージョンは表示されません。これは、多くのプラグインが使用されている場合、Terraformの現在のバージョンでは遅いためです。 If you still want to enable it, [follow the example shown below](#with-version). 次の条件のいずれかが満たされると、モジュールが表示されます。
- カレントディレクトリに`.terraform`フォルダが含まれている
- カレントディレクトリに`.tf`の拡張子のファイルが含まれている
### オプション
| オプション | デフォルト | 説明 |
| ---------- | ------------------------------------ | ----------------------------------------------------- |
| `format` | `"via [$symbol$workspace]($style) "` | The format string for the module. |
| `symbol` | `"💠 "` | A format string shown before the terraform workspace. |
| `style` | `"bold 105"` | モジュールのスタイルです。 |
| `disabled` | `false` | `terraform`モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ---------- | ------------------------------- |
| version | `v0.12.24` | The version of `terraform` |
| workspace | `default` | The current terraform workspace |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
#### With Version
```toml
# ~/.config/starship.toml
[terraform]
format = "[🏎💨 $version$workspace]($style) "
```
#### Without version
```toml
# ~/.config/starship.toml
[terraform]
format = "[🏎💨 $workspace]($style) "
```
## Time
`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`に設定します。
:::
### オプション
| オプション | デフォルト | 説明 |
| ----------------- | ----------------------- | ----------------------------------------------------------------------------------------------------- |
| `format` | `"at [$time]($style) "` | The format string for the module. |
| `use_12hr` | `false` | 12時間のフォーマットを有効にします。 |
| `time_format` | この表の下を参照してください | 時刻のフォーマットに使用される[クロノフォーマット文字列](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) です。 |
| `style` | `"bold yellow"` | モジュールのスタイルです。 |
| `utc_time_offset` | `"local"` | 使用するUTCオフセットを設定します。 Range from -24 < x < 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 |
If `use_12hr` is `true`, then `time_format` defaults to `"%r"`. それ以外の場合、デフォルトは`"%T"`です。 Manually setting `time_format` will override the `use_12hr` setting.
### 変数
| 変数 | 設定例 | 説明 |
| --------- | ---------- | ---------------------- |
| 時刻 | `13:08:10` | The current time. |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.config/starship.toml
[time]
disabled = false
format = '🕙[\[ $time \]]($style) '
time_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ユーザーに使用されるスタイルです。 |
| `format` | `"[$user]($style) in "` | moduleのフォーマットです。 |
| `show_always` | `false` | `username` モジュールを常に表示します。 |
| `disabled` | `false` | `username` モジュールを無効にします。 |
### 変数
| 変数 | 設定例 | 説明 |
| ------- | ------------ | ------------------------------------------------------------------------------------------- |
| `style` | `"red bold"` | Mirrors the value of option `style_root` when root is logged in and `style_user` otherwise. |
| `user` | `"matchai"` | The currently logged-in user ID. |
### 設定例
```toml
# ~/.config/starship.toml
[username]
style_user = "white bold"
style_root = "black bold"
format = "user: [$user]($style) "
disabled = false
show_always = 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"` | モジュールのスタイルです。 |
| `format` | `"via [$symbol$version]($style) "` | moduleのフォーマットです。 |
| `disabled` | `false` | Disables the `zig` module. |
### 変数
| 変数 | 設定例 | 説明 |
| --------- | -------- | ---------------------- |
| version | `v0.6.0` | The version of `zig` |
| symbol | | オプション `記号` の値をミラーする |
| style\* | | オプション `style` の値をミラーする |
\*: この変数はスタイル文字列の一部としてのみ使用できます
### 設定例
```toml
# ~/.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 including `${custom.foo}` in the top level `format` (as it includes a dot, you need to use `${...}`). By default, the `custom` module will simply show all custom modules in the order they were defined.
:::
::: tip
[Issue #1252](https://github.com/starship/starship/discussions/1252) contains examples of custom modules. If you have an interesting example not covered there, feel free to share it there!
:::
### オプション
| オプション | デフォルト | 説明 |
| ------------- | ----------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
| `command` | | The command whose output should be printed. The command will be passed on stdin to the shell. |
| `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-command-shell) |
| `説明` | `"