Mimo że Starship jest wszechstronny, czasem nie wystarczy modyfikacja pliku `starship.toml` żeby osiągnąć zamierzony efekt. Na tej stronie opisano bardziej zaawansowane sposoby konfigurowania używane w Starship.
::: warning
Konfiguracja opisana w tej sekcji może ulec zmianie w przyszłych wydaniach Starship.
:::
> [!WARNING] The configurations in this section are subject to change in future releases of Starship.
@@ -208,11 +208,7 @@ This is the list of prompt-wide configuration options.
| `palettes` | `{}` | Collection of color palettes that assign [colors](../advanced-config/#style-strings) to user-defined names. Note that color palettes cannot reference their own color definitions. |
| `follow_symlinks` | `true` | Follows symlinks to check if they're directories; used in modules such as git. |
::: porada
If you have symlinks to networked filesystems, consider setting `follow_symlinks` to `false`.
:::
> [!TIP] If you have symlinks to networked filesystems, consider setting `follow_symlinks` to `false`.
The `azure` module shows the current Azure Subscription. This is based on showing the name of the default subscription or the username, as defined in the `~/.azure/azureProfile.json` file.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Zmienne | Default | Description |
@@ -658,15 +658,13 @@ The `c` module shows some information about your C compiler. By default the modu
| symbol | | Mirrors the value of option `symbol` |
| style | | Mirrors the value of option `style` |
NB that `version` is not in the default format.
### Commands
The `commands` option accepts a list of commands to determine the compiler version and name.
Each command is represented as a list of the executable name, followed by its arguments, usually something like `['mycc', '--version']`. Starship will try executing each command until it gets a result on STDOUT.
If a C compiler is not supported by this module, you can request it by [raising an issue on GitHub](https://github.com/starship/starship/).
If a C compiler is not supported by this module, you can request it by [raising an issue on GitHub](https://github.com/starship/starship/issues/new/choose).
### Example
@@ -681,6 +679,8 @@ format = 'via [$name $version]($style)'
The `cpp` module shows some information about your `C++` compiler. By default, the module will be shown if the current directory contains a `.cpp`, `.hpp`, or other `C++`-related files.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -704,15 +704,13 @@ The `cpp` module shows some information about your `C++` compiler. By default, t
| symbol | | Mirrors the value of option `symbol` |
| style | | Mirrors the value of option `style` |
NB that `version` is not in the default format.
### Commands
The `commands` option accepts a list of commands to determine the compiler version and name.
Each command is represented as a list of the executable name, followed by its arguments, usually something like `['mycpp', '--version']`. Starship will try executing each command until it gets a result on STDOUT.
If a C++ compiler is not supported by this module, you can request it by [raising an issue on GitHub](https://github.com/starship/starship/).
If a C++ compiler is not supported by this module, you can request it by [raising an issue on GitHub](https://github.com/starship/starship/issues/new/choose).
### Example
@@ -735,11 +733,7 @@ The character will tell you whether the last command was successful or not. It c
By default it only changes color. If you also want to change its shape take a look at [this example](#with-custom-error-shape).
::: warning
`vimcmd_symbol` is only supported in cmd, fish and zsh. `vimcmd_replace_one_symbol`, `vimcmd_replace_symbol`, and `vimcmd_visual_symbol` are only supported in fish due to [upstream issues with mode detection in zsh](https://github.com/starship/starship/issues/625#issuecomment-732454148).
:::
> [!WARNING] `vimcmd_symbol` is only supported in cmd, fish and zsh. `vimcmd_replace_one_symbol`, `vimcmd_replace_symbol`, and `vimcmd_visual_symbol` are only supported in fish due to [upstream issues with mode detection in zsh](https://github.com/starship/starship/issues/625#issuecomment-732454148).
### Options
@@ -855,11 +849,9 @@ The `cobol` module shows the currently installed version of COBOL. By default, t
The `cmd_duration` module shows how long the last command took to execute. The module will be shown only if the command took longer than two seconds, or the `min_time` config value, if it exists.
::: warning Do not hook the DEBUG trap in Bash
If you are running Starship in `bash`, do not hook the `DEBUG` trap after running `eval $(starship init $0)`, or this module **will** break.
:::
> [!WARNING] Do not hook the DEBUG trap in Bash
>
> If you are running Starship in `bash`, do not hook the `DEBUG` trap after running `eval $(starship init $0)`, or this module **will** break.
Bash users who need preexec-like functionality can use [rcaloras's bash_preexec framework](https://github.com/rcaloras/bash-preexec). Simply define the arrays `preexec_functions` and `precmd_functions` before running `eval $(starship init $0)`, and then proceed as normal.
@@ -899,11 +891,7 @@ format = 'underwent [$duration](bold yellow)'
The `conda` module shows the current [Conda](https://docs.conda.io/en/latest/) environment, if `$CONDA_DEFAULT_ENV` is set.
::: porada
This does not suppress conda's own prompt modifier, you may want to run `conda config --set changeps1 False`. If you use [pixi](https://pixi.sh), you can disable pixi's prompt modifier by running `pixi config set change-ps1 false`.
:::
> [!TIP] This does not suppress conda's own prompt modifier, you may want to run `conda config --set changeps1 False`. If you use [pixi](https://pixi.sh), you can disable pixi's prompt modifier by running `pixi config set shell.change-ps1 false`.
### Options
@@ -1206,6 +1194,8 @@ truncation_symbol = '…/'
The `direnv` module shows the status of the current rc file if one is present. The status includes the path to the rc file, whether it is loaded, and whether it has been allowed by `direnv`.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -1251,16 +1241,16 @@ The `docker_context` module shows the currently active [Docker context](https://
| `format` | `'via [$symbol$context]($style) '` | The format for the module. |
| `symbol` | `'🐳 '` | The symbol used before displaying the Docker context. |
| `only_with_files` | `true` | Only show when there's a match |
| `detect_extensions` | `[]` | Which extensions should trigger this module (needs `only_with_files` to be true). |
| `detect_files` | `['docker-compose.yml', 'docker-compose.yaml', 'Dockerfile']` | Which filenames should trigger this module (needs `only_with_files` to be true). |
| `detect_folders` | `[]` | Which folders should trigger this module (needs `only_with_files` to be true). |
| `style` | `'blue bold'` | The style for the module. |
| `disabled` | `false` | Disables the `docker_context` module. |
| `format` | `'via [$symbol$context]($style) '` | The format for the module. |
| `symbol` | `'🐳 '`| The symbol used before displaying the Docker context. |
| `only_with_files` | `true`| Only show when there's a match |
| `detect_extensions` | `[]`| Which extensions should trigger this module (needs `only_with_files` to be true). |
| `detect_files` | `['compose.yml', 'compose.yaml', 'docker-compose.yml', 'docker-compose.yaml', 'Dockerfile']` | Which filenames should trigger this module (needs `only_with_files` to be true). |
| `detect_folders` | `[]`| Which folders should trigger this module (needs `only_with_files` to be true). |
| `style` | `'blue bold'`| The style for the module. |
| `disabled` | `false`| Disables the `docker_context` module. |
### Variables
@@ -1426,26 +1416,17 @@ The `env_var` module displays the current value of a selected environment variab
- The `variable` configuration option matches an existing environment variable
- The `variable` configuration option is not defined, but the `default` configuration option is
::: porada
> [!TIP] The order in which env_var modules are shown can be individually set by including `${env_var.foo}` in the top level `format` (as it includes a dot, you need to use `${...}`). By default, the `env_var` module will simply show all env_var modules in the order they were defined.
The order in which env_var modules are shown can be individually set by including `${env_var.foo}` in the top level `format` (as it includes a dot, you need to use `${...}`). By default, the `env_var` module will simply show all env_var modules in the order they were defined.
:::
::: porada
Multiple environmental variables can be displayed by using a `.`. (see example) If the `variable` configuration option is not set, the module will display value of variable under the name of text after the `.` character.
Example: following configuration will display value of USER environment variable
```toml
# ~/.config/starship.toml
[env_var.USER]
default = 'unknown user'
```
:::
> [!TIP] Multiple environmental variables can be displayed by using a `.`. (see example) If the `variable` configuration option is not set, the module will display value of variable under the name of text after the `.` character.
>
> Example: following configuration will display value of USER environment variable
>
> ```toml
>
> # ~/.config/starship.toml
>
> [env_var.USER] default = 'unknown user' ```
### Options
@@ -1596,10 +1577,49 @@ Produces a prompt that looks like:
AA -------------------------------------------- BB -------------------------------------------- CC
```
## Fortran
The `fortran` module shows the current compiler version of Fortran.
| version | `14.2.0` | The version of the Fortran compiler |
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
### Commands
The `commands` option accepts a list of commands to determine the compiler version and name.
Each command is represented as a list of the executable name, followed by its arguments, usually something like `['myfortran', '--version']`. Starship will try executing each command until it gets a result on STDOUT.
If a Fortran compiler is not supported by this module, you can request it by [raising an issue on GitHub](https://github.com/starship/starship/).
## Fossil Branch
The `fossil_branch` module shows the name of the active branch of the check-out in your current directory.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -1636,6 +1656,8 @@ truncation_symbol = ''
The `fossil_metrics` module will show the number of added and deleted lines in the check-out in your current directory. At least v2.14 (2021-01-20) of Fossil is required.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -1759,6 +1781,7 @@ The `git_branch` module shows the active branch of the repo in your current dire
| `truncation_symbol` | `'…'` | The symbol used to indicate a branch name was truncated. You can use `''` for no symbol. |
| `only_attached` | `false` | Only show the branch name when not in a detached `HEAD` state. |
| `ignore_branches` | `[]` | A list of names to avoid displaying. Useful for 'master' or 'main'. |
| `ignore_bare_repo` | `false` | Do not show when in a bare repo. |
| `disabled` | `false` | Disables the `git_branch` module. |
The `git_metrics` module will show the number of added and deleted lines in the current git repository.
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -1908,11 +1927,7 @@ format = '[+$added]($added_style)/[-$deleted]($deleted_style) '
The `git_status` module shows symbols representing the state of the repo in your current directory.
::: porada
The Git Status module is very slow in Windows directories (for example under `/mnt/c/`) when in a WSL environment. You can disable the module or use the `windows_starship` option to use a Windows-native Starship executable to compute `git_status` for those paths.
:::
> [!TIP] The Git Status module is very slow in Windows directories (for example under `/mnt/c/`) when in a WSL environment. You can disable the module or use the `windows_starship` option to use a Windows-native Starship executable to compute `git_status` for those paths.
### Options
@@ -1925,7 +1940,7 @@ The Git Status module is very slow in Windows directories (for example under `/m
| `diverged` | `'⇕'` | The format of `diverged` |
| `up_to_date` | `''` | The format of `up_to_date` |
| `untracked` | `'?'` | The format of `untracked` |
| `stashed` | `'$'` | The format of `stashed` |
| `stashed` | `'\$'` | The format of `stashed` |
| `modified` | `'!'` | The format of `modified` |
| `staged` | `'+'` | The format of `staged` |
| `renamed` | `'»'` | The format of `renamed` |
@@ -2392,17 +2407,9 @@ The default functionality is:
- 1 job -> `symbol` is shown.
- 2 jobs or more -> `symbol` + `number` are shown.
::: warning
> [!WARNING] This module is not supported on tcsh.
This module is not supported on tcsh and nu.
:::
::: warning
The `threshold` option is deprecated, but if you want to use it, the module will show the number of jobs running if there is more than 1 job, or more than the `threshold` config value, if it exists. If `threshold` is set to 0, then the module will also show when there are 0 jobs running.
:::
> [!WARNING] The `threshold` option is deprecated, but if you want to use it, the module will show the number of jobs running if there is more than 1 job, or more than the `threshold` config value, if it exists. If `threshold` is set to 0, then the module will also show when there are 0 jobs running.
### Options
@@ -2428,7 +2435,7 @@ The `threshold` option is deprecated, but if you want to use it, the module will
*: This variable can only be used as a part of a style string
### Example
### Examples
```toml
# ~/.config/starship.toml
@@ -2439,6 +2446,14 @@ number_threshold = 4
symbol_threshold = 0
```
#### Changing process grouping behavior in fish
When using the Fish shell, Starship counts **job groups** instead of individual process IDs by default. This prevents overcounting when a pipeline has multiple processes but only one suspended group. To revert to the legacy PID-based counting, please add the following to your shell config:
```fish
set -g __starship_fish_use_job_groups "false"
```
## Julia
The `julia` module shows the currently installed version of [Julia](https://julialang.org/). By default the module will be shown if any of the following conditions are met:
@@ -2530,21 +2545,13 @@ kotlin_binary = 'kotlinc'
Displays the current [Kubernetes context](https://kubernetes.io/docs/concepts/configuration/organize-cluster-access-kubeconfig/#context) name and, if set, the namespace, user and cluster from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-context --namespace astronaut`. Similarly, the user and cluster can be set with `kubectl config set-context starship-context --user starship-user` and `kubectl config set-context starship-context --cluster starship-cluster`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`.
::: porada
This module is disabled by default. To enable it, set `disabled`to `false` in your configuration file.
When the module is enabled it will always be active, unless any of `detect_env_vars`, `detect_extensions`, `detect_files` or `detect_folders` have been set in which case the module will only be active in directories that match those conditions or one of the environmatal variable has been set.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
>
> When the module is enabled it will always be active, unless any of `detect_env_vars`, `detect_extensions`, `detect_files` or`detect_folders` have been set in which case the module will only be active in directories that match those conditions or one of the environmental variables has been set.
### Options
::: warning
The `context_aliases` and `user_aliases` options are deprecated. Use `contexts` and the corresponding `context_alias` and `user_alias` options instead.
:::
> [!WARNING] The `context_aliases` and `user_aliases` options are deprecated. Use `contexts` and the corresponding `context_alias` and `user_alias` options instead.
The `localip` module shows the IPv4 address of the primary network interface.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -2742,11 +2751,7 @@ The `memory_usage` module shows current system memory and swap usage.
By default the swap usage is displayed if the total system swap is non-zero.
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -2826,6 +2831,8 @@ style = 'bold dimmed green'
The `hg_branch` module shows the active branch and topic of the repo in your current directory.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -2859,10 +2866,45 @@ truncation_length = 4
truncation_symbol = ''
```
## Mercurial State
The `hg_state` module will show in directories which are part of a mercurial repository, and where there is an operation in progress, such as: _REBASING_, _BISECTING_, etc.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
| `format` | `'via [$symbol($version )]($style)'` | The format for the module. |
| `show_commit` | `false` | Shows the commit as part of the version. |
| `symbol` | `'Ø '` | The symbol used before displaying the version of Odin. |
| `style` | `'bold bright-blue'` | The style for the module. |
| `disabled` | `false` | Disables the `odin` module. |
| `detect_extensions` | `['odin']` | Which extensions should trigger this module. |
| `detect_files` | `[]` | Which filenames should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
### Variables
@@ -3277,17 +3319,9 @@ symbol = '☁️ '
The `os` module shows the current operating system. OS information is detected via the [os_info](https://lib.rs/crates/os_info) crate.
::: warning
> [!WARNING] The [os_info](https://lib.rs/crates/os_info) crate used by this module is known to be inaccurate on some systems.
The [os_info](https://lib.rs/crates/os_info) crate used by this module is known to be inaccurate on some systems.
:::
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -3309,6 +3343,7 @@ AlmaLinux = "💠 "
Alpine = "🏔️ "
Amazon = "🙂 "
Android = "🤖 "
AOSC = "🐱 "
Arch = "🎗️ "
Artix = "🎗️ "
Bluefin = "🐟 "
@@ -3352,7 +3387,7 @@ Ubuntu = "🎯 "
Ultramarine = "🔷 "
Unknown = "❓ "
Uos = "🐲 "
Void = " "
Void = " "
Windows = "🪟 "
```
@@ -3387,7 +3422,7 @@ Arch = "Arch is the best! "
## Package Version
The `package` module is shown when the current directory is the repository for a package, and shows its current version. The module currently supports `npm`, `nimble`, `cargo`, `poetry`, `python`, `composer`, `gradle`, `julia`, `mix`, `helm`, `shards`, `daml` and `dart` packages.
The `package` module is shown when the current directory is the repository for a package, and shows its current version. The module currently supports `npm`, `nimble`, `cargo`, `poetry`, `python`, `composer`, `gradle`, `julia`, `mix`, `helm`, `shards`,`galaxy`,`daml` and `dart` packages.
- [**npm**](https://docs.npmjs.com/cli/commands/npm) – The `npm` package version is extracted from the `package.json` present in the current directory
- [**JSR**](https://jsr.io/) – The `jsr` package version is extracted from the `jsr.json`/`jsr.jsonc` or `deno.json`/`deno.jsonc` present in the current directory
@@ -3403,6 +3438,7 @@ The `package` module is shown when the current directory is the repository for a
- [**Maven**](https://maven.apache.org/) - The `maven` package version is extracted from the `pom.xml` present in the current directory
- [**Meson**](https://mesonbuild.com/) - The `meson` package version is extracted from the `meson.build` present in the current directory
- [**Shards**](https://crystal-lang.org/reference/the_shards_command/index.html) - The `shards` package version is extracted from the `shard.yml` present in the current directory
- [**Galaxy**](https://galaxy.ansible.com/) - The `galaxy` package version is extracted from the `galaxy.yml` present in the current directory
- [**V**](https://vlang.io) - The `vlang` package version is extracted from the `v.mod` present in the current directory
- [**SBT**](https://scala-sbt.org) - The `sbt` package version is extracted from the `build.sbt` present in the current directory
- [**Daml**](https://www.digitalasset.com/developers) - The `daml` package version is extracted from the `daml.yaml` present in the current directory
The `pijul_channel` module shows the active channel of the repo in your current directory.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -3539,11 +3577,7 @@ The `pijul_channel` module shows the active channel of the repo in your current
The `pixi` module shows the installed [pixi](https://pixi.sh) version as well as the activated environment, if `$PIXI_ENVIRONMENT_NAME` is set.
::: porada
This does not suppress pixi's own prompt modifier, you may want to run `pixi config set change-ps1 false`.
:::
> [!TIP] This does not suppress pixi's own prompt modifier, you may want to run `pixi config set shell.change-ps1 false`.
### Options
@@ -3552,12 +3586,12 @@ This does not suppress pixi's own prompt modifier, you may want to run `pixi con
| `format` | `'via [$symbol($version )(\($environment\) )]($style)'` | The format for the module. |
| `version_format` | `'v${raw}'` | The version format. Available vars are `raw`, `major`, `minor`, & `patch`. |
| `symbol` | `'🧚 '` | The symbol used before the environment name. |
| `style` | `'yellow bold' | The style for the module. |
| `style` | `'yellow bold'` | The style for the module. |
| `show_default_environment` | `true` | Whether to indicate that the `default` environment of your project is activated. |
| `pixi_binary` | `['pixi']` | Configures the pixi binary that Starship should execute when getting the version. |
| `detect_extensions` | `[]` | Which extensions should trigger this module. |
| `detect_files` | `['pixi.toml']` | Which filenames should trigger this module. |
| `detect_folders` | `['.pixi']` | Which folders should trigger this module. |
| `detect_folders` | `[]` | Which folders should trigger this module. |
| `disabled` | `false` | Disables the `pixi` module. |
### Variables
@@ -3582,11 +3616,7 @@ format = '[$symbol$environment](yellow) '
The `pulumi` module shows the current username, selected [Pulumi Stack](https://www.pulumi.com/docs/intro/concepts/stack/), and version.
::: porada
By default the Pulumi version is not shown, since it takes an order of magnitude longer to load then most plugins (~70ms). If you still want to enable it, [follow the example shown below](#with-pulumi-version).
:::
> [!TIP] By default the Pulumi version is not shown, since it takes an order of magnitude longer to load then most plugins (~70ms). If you still want to enable it, [follow the example shown below](#with-pulumi-version).
By default the module will be shown if any of the following conditions are met:
@@ -3712,13 +3742,9 @@ By default, the module will be shown if any of the following conditions are met:
| `detect_folders` | `[]` | Which folders should trigger this module |
| `disabled` | `false` | Disables the `python` module. |
::: porada
The `python_binary` variable accepts either a string or a list of strings. Starship will try executing each binary until it gets a result. Note you can only change the binary that Starship executes to get the version of Python not the arguments that are used.
The default values and order for `python_binary` was chosen to first identify the Python version in a virtualenv/conda environments (which currently still add a `python`, no matter if it points to `python3` or `python2`). This has the side effect that if you still have a system Python 2 installed, it may be picked up before any Python 3 (at least on Linux Distros that always symlink `/usr/bin/python` to Python 2). If you do not work with Python 2 anymore but cannot remove the system Python 2, changing this to `'python3'` will hide any Python version 2, see example below.
:::
> [!TIP] The `python_binary` variable accepts either a string or a list of strings. Starship will try executing each binary until it gets a result. Note you can only change the binary that Starship executes to get the version of Python not the arguments that are used.
>
> The default values and order for `python_binary` was chosen to first identify the Python version in a virtualenv/conda environments (which currently still add a `python`, no matter if it points to `python3` or `python2`). This has the side effect that if you still have a system Python 2 installed, it may be picked up before any Python 3 (at least on Linux Distros that always symlink `/usr/bin/python` to Python 2). If you do not work with Python 2 anymore but cannot remove the system Python 2, changing this to `'python3'` will hide any Python version 2, see example below.
### Variables
@@ -4036,11 +4062,7 @@ symbol = '🌟 '
The `shell` module shows an indicator for currently used shell.
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -4088,6 +4110,8 @@ disabled = false
The `shlvl` module shows the current [`SHLVL`](https://tldp.org/LDP/abs/html/internalvariables.html#SHLVLREF) ('shell level') environment variable, if it is set to a number and meets or exceeds the specified threshold.
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
| Option | Default | Description |
@@ -4242,11 +4266,7 @@ format = '[$symbol$environment](dimmed blue) '
The `status` module displays the exit code of the previous command. If $success_symbol is empty (default), the module will be shown only if the exit code is not `0`. The status code will cast to a signed 32-bit integer.
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -4305,11 +4325,7 @@ disabled = false
The `sudo` module displays if sudo credentials are currently cached. The module will only be shown if credentials are cached.
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -4391,13 +4407,9 @@ format = 'via [🏎 $version](red bold)'
## Terraform
The `terraform` module shows the currently selected [Terraform workspace](https://www.terraform.io/docs/language/state/workspaces.html) and version.
The `terraform` module shows the currently selected [Terraform workspace](https://www.terraform.io/docs/language/state/workspaces.html) and version. It supports both Hashicorp Terraform and OpenTofu for version detection.
::: porada
By default the Terraform version is not shown, since this is slow for current versions of Terraform when a lot of plugins are in use. If you still want to enable it, [follow the example shown below](#with-terraform-version).
:::
> [!TIP] By default the Terraform/OpenTofu version is not shown, since this is slow for current versions when a lot of plugins are in use. If you still want to enable it, [follow the example shown below](#with-terraform-version).
By default the module will be shown if any of the following conditions are met:
@@ -4406,16 +4418,17 @@ By default the module will be shown if any of the following conditions are met:
| `format` | `'via [$symbol$workspace]($style) '` | The format string for the module. |
| `version_format` | `'v${raw}'`| The version format. Available vars are `raw`, `major`, `minor`, & `patch` |
| `symbol` | `'💠'`| A format string shown before the terraform workspace. |
| `detect_extensions` | `['tf', 'tfplan', 'tfstate']` | Which extensions should trigger this module. |
| `detect_files` | `[]`| Which filenames should trigger this module. |
| `detect_folders` | `['.terraform']`| Which folders should trigger this module. |
| `style` | `'bold 105'`| The style for the module. |
| `disabled` | `false`| Disables the `terraform` module. |
| `commands` | `[ [ 'terraform', 'version' ], [ 'tofu', 'version' ] ]` | How to detect what the Terraform version is. |
### Variables
@@ -4436,7 +4449,7 @@ By default the module will be shown if any of the following conditions are met:
# ~/.config/starship.toml
[terraform]
format = '[🏎💨 $version$workspace]($style) '
format = 'via [$symbol$version$workspace]($style) '
```
#### Without Terraform version
@@ -4445,18 +4458,14 @@ format = '[🏎💨 $version$workspace]($style) '
# ~/.config/starship.toml
[terraform]
format = '[🏎💨 $workspace]($style) '
format = 'via [$symbol$workspace]($style) '
```
## Time
The `time` module shows the current **local** time. The `format` configuration value is used by the [`chrono`](https://crates.io/crates/chrono) crate to control how the time is displayed. Take a look [at the chrono strftime docs](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) to see what options are available.
::: porada
This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
:::
> [!TIP] This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file.
### Options
@@ -4537,11 +4546,7 @@ The `username` module shows active user's username. The module will be shown if
- The variable `show_always` is set to true
- The array `detect_env_vars` contains at least the name of one environment variable, that is set
::: porada
SSH connection is detected by checking environment variables `SSH_CONNECTION`, `SSH_CLIENT`, and `SSH_TTY`. If your SSH host does not set up these variables, one workaround is to set one of them with a dummy value.
:::
> [!TIP] SSH connection is detected by checking environment variables `SSH_CONNECTION`, `SSH_CLIENT`, and `SSH_TTY`. If your SSH host does not set up these variables, one workaround is to set one of them with a dummy value.
### Options
@@ -4684,6 +4689,35 @@ The `vcsh` module displays the current active [VCSH](https://github.com/RichiH/v
format = '[🆅 $repo](bold blue) '
```
## XMake
The `xmake` module shows the currently installed version of [XMake](https://xmake.io/). By default the module will be activated if any of the following conditions are met:
- The current directory contains a `xmake.lua` file
| symbol | | Mirrors the value of option `symbol` |
| style\* | | Mirrors the value of option `style` |
*: This variable can only be used as a part of a style string
## Zig
By default the `zig` module shows the currently installed version of [Zig](https://ziglang.org/). The module will be shown if any of the following conditions are met:
@@ -4734,31 +4768,17 @@ These modules will be shown if any of the following conditions are met:
- The `when` command returns 0
- The current Operating System (std::env::consts::OS) matches with `os` field if defined.
::: porada
> [!TIP] Multiple custom modules can be defined by using a `.`.
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!
::: porada
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.
:::
::: porada
[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!
:::
::: warning If `unsafe_no_escape` is enabled or prior to starship v1.20 command output is printed unescaped to the prompt.
Whatever output the command generates is printed unmodified in the prompt. This means if the output contains shell-specific interpretable sequences, they could be interpreted on display. Depending on the shell, this can mean that e.g. strings enclosed by backticks are executed by the shell. Such sequences are usually shell specific, e.g. you can write a command module that writes bash sequences, e.g. `\h`, but this module will not work in a fish or zsh shell.
Format strings can also contain shell specific prompt sequences, e.g. [Bash](https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html), [Zsh](https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html).
:::
> [!WARNING] If `unsafe_no_escape` is enabled or prior to starship v1.20 command output is printed unescaped to the prompt.
>
> Whatever output the command generates is printed unmodified in the prompt. This means if the output contains shell-specific interpretable sequences, they could be interpreted on display. Depending on the shell, this can mean that e.g. strings enclosed by backticks are executed by the shell. Such sequences are usually shell specific, e.g. you can write a command module that writes bash sequences, e.g. `\h`, but this module will not work in a fish or zsh shell.
>
> Format strings can also contain shell specific prompt sequences, e.g. [Bash](https://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html), [Zsh](https://zsh.sourceforge.io/Doc/Release/Prompt-Expansion.html).
### Options
@@ -4808,17 +4828,15 @@ If `shell` is not given or only contains one element and Starship detects PowerS
shell = ['pwsh', '-Command', '-']
```
::: warning 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](https://github.com/starship/starship/issues/new/choose) with shell details and starship configuration if you hit such scenario.
:::
> [!WARNING] 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](https://github.com/starship/starship/issues/new/choose) with shell details and starship configuration if you hit such scenario.
Add the following to the end of `~/.config/elvish/rc.elv` (`%AppData%\elvish\rc.elv` on Windows):
```sh
eval(starship init elvish)
```
Uwaga: Obsługiwany jest tylko Elvish w wersji v0.18 wzwyż
Note: Only Elvish v0.18+ is supported. For elvish versions prior to v0.21.0 the config file might instead be `~/.elvish/rc.elv`
</details>
@@ -407,7 +408,7 @@ Lecz jeśli chcesz nieco dostosować Starship:
## 🤝Wspomóż nas
Zawsze szukamy pomocy od osób **na każdym poziomie zaawansowania**! Jeśli potrzebujesz łatwiejszego wdrożenia w projekt, wypróbuj [good first issue](https://github.com/starship/starship/labels/🌱%20good%20first%20issue).
Zawsze szukamy pomocy od osób **na każdym poziomie zaawansowania**! If you're looking to ease your way into the project, try out a [good first issue](https://github.com/starship/starship/labels/"🌱%20good%20first%20issue").
Jeśli płynnie władasz językiem innym niż angielski, bardzo doceniamy każdą pomoc w tłumaczeniu dokumentacji. Jeśli chcesz pomóc, tłumaczenia można dodawać na [Crowdin Starship](https://translate.starship.rs/).
[Powrót do ustawień predefiniowanych](./#pastel-powerline)
[Powrót do ustawień predefiniowanych](./#tokyo-night)
# Ustawienia Tokyo Night
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.