diff options
81 files changed, 6971 insertions, 4881 deletions
diff --git a/docs/ar-SA/advanced-config/README.md b/docs/ar-SA/advanced-config/README.md index d423cdc5f..cabf9cdfc 100644 --- a/docs/ar-SA/advanced-config/README.md +++ b/docs/ar-SA/advanced-config/README.md @@ -68,6 +68,33 @@ function set_win_title(){ starship_precmd_user_func="set_win_title" ``` +## Enable Right Prompt + +Some shells support a right prompt which renders on the same line as the input. Starship can set the content of the right prompt using the `right_format` option. Any module that can be used in `format` is also supported in `right_format`. The `$all` variable will only contain modules not explicitly used in either `format` or `right_format`. + +Note: The right prompt is a single line following the input location. To right align modules above the input line in a multi-line prompt, see the [fill module](/config/#fill). + +`right_format` is currently supported for the following shells: elvish, fish, zsh. + +### Example + +```toml +# ~/.config/starship.toml + +# A minimal left prompt +format = """$character""" + +# move the rest of the prompt to the right +right_format = """$all""" +``` + +Produces a prompt like the following: + +``` +▶ starship on rprompt [!] is 📦 v0.57.0 via 🦀 v1.54.0 took 17s +``` + + ## Style Strings Style strings are a list of words, separated by whitespace. The words are not case sensitive (i.e. `bold` and `BoLd` are considered the same string). Each word can be one of the following: diff --git a/docs/ar-SA/config/README.md b/docs/ar-SA/config/README.md index 61f8fcfd2..2fb31aa12 100644 --- a/docs/ar-SA/config/README.md +++ b/docs/ar-SA/config/README.md @@ -75,7 +75,7 @@ A text group is made up of two different parts. The first part, which is enclosed in a `[]`, is a [format string](#format-strings). You can add texts, variables, or even nested text groups in it. -In the second part, which is enclosed in a `()`, is a [style string](#style-strings). This can be used style the first part. +In the second part, which is enclosed in a `()`, is a [style string](#style-strings). This can be used to style the first part. For example: @@ -142,12 +142,14 @@ This is the list of prompt-wide configuration options. ### Options -| Option | Default | Description | -| ----------------- | ------------------------------ | ------------------------------------------------------------ | -| `format` | [link](#default-prompt-format) | Configure the format of the prompt. | -| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). | -| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). | -| `add_newline` | `true` | Inserts blank line between shell prompts. | +| Option | Default | Description | +| ----------------- | ------------------------------ | ---------------------------------------------------------------- | +| `format` | [link](#default-prompt-format) | Configure the format of the prompt. | +| `right_format` | `""` | See [Enable Right Prompt](/advanced-config/#enable-right-prompt) | +| `scan_timeout` | `30` | Timeout for starship to scan files (in milliseconds). | +| `command_timeout` | `500` | Timeout for commands executed by starship (in milliseconds). | +| `add_newline` | `true` | Inserts blank line between shell prompts. | + ### Example @@ -179,6 +181,7 @@ format = """ $username\ $hostname\ $shlvl\ +$singularity\ $kubernetes\ $directory\ $vcsh\ @@ -191,6 +194,7 @@ $hg_branch\ $docker_context\ $package\ $cmake\ +$cobol\ $dart\ $deno\ $dotnet\ @@ -202,6 +206,7 @@ $helm\ $java\ $julia\ $kotlin\ +$lua\ $nim\ $nodejs\ $ocaml\ @@ -209,6 +214,7 @@ $perl\ $php\ $purescript\ $python\ +$rlang\ $red\ $ruby\ $rust\ @@ -229,7 +235,6 @@ $crystal\ $custom\ $cmd_duration\ $line_break\ -$lua\ $jobs\ $battery\ $time\ @@ -238,6 +243,13 @@ $shell\ $character""" ``` +If you just want to extend the default format, you can use `$all`; modules you explicitly add to the format will not be duplicated. Eg. + +```toml +# Move the directory to the second line +format="$all$directory$character" +``` + ## AWS The `aws` module shows the current AWS region and profile. This is based on `AWS_REGION`, `AWS_DEFAULT_REGION`, and `AWS_PROFILE` env var with `~/.aws/config` file. This module also shows an expiration timer when using temporary credentials. @@ -479,6 +491,36 @@ The `cmake` module shows the currently installed version of [CMake](https://cmak \*: This variable can only be used as a part of a style string +## COBOL / GNUCOBOL + +The `cobol` module shows the currently installed version of COBOL. By default, the module will be shown if any of the following conditions are met: + +- The current directory contains any files ending in `.cob` or `.COB` +- The current directory contains any files ending in `.cbl` or `.CBL` + +### Options + +| Option | Default | Description | +| ------------------- | ------------------------------------ | ------------------------------------------------------------------------- | +| `symbol` | `"⚙️ "` | The symbol used before displaying the version of COBOL. | +| `format` | `"via [$symbol($version )]($style)"` | The format for the module. | +| `version_format` | `"v${raw}"` | The version format. Available vars are `raw`, `major`, `minor`, & `patch` | +| `style` | `"bold blue"` | The style for the module. | +| `detect_extensions` | `["cbl", "cob", "CBL", "COB"]` | Which extensions should trigger this module. | +| `detect_files` | `[]` | Which filenames should trigger this module. | +| `detect_folders` | `[]` | Which folders should trigger this module. | +| `disabled` | `false` | Disables the `cobol` module. | + +### Variables + +| Variable | Example | Description | +| --------- | ---------- | ------------------------------------ | +| version | `v3.1.2.0` | The version of `cobol` | +| 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 + ## Command Duration 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. @@ -530,7 +572,7 @@ format = "underwent [$duration](bold yellow)" ## Conda -The `conda` module shows the current conda environment, if `$CONDA_DEFAULT_ENV` is set. +The `conda` module shows the current [Conda](https://docs.conda.io/en/latest/) environment, if `$CONDA_DEFAULT_ENV` is set. ::: tip @@ -1017,6 +1059,35 @@ The `erlang` module shows the currently installed version of [Erlang/OTP](https: format = "via [e $version](bold red) " ``` +## Fill + +The `fill` module fills any extra space on the line with a symbol. If multiple `fill` modules are present in a line they will split the space evenly between them. This is useful for aligning other modules. + +### Options + +| Option | Default | Description | +| -------- | -------------- | --------------------------------- | +| `symbol` | `"."` | The symbol used to fill the line. | +| `style` | `"bold black"` | The style for the module. | + +### Example + +```toml +# ~/.config/starship.toml +format="AA $fill BB $fill CC" + +[fill] +symbol = "-" +style = "bold green" +``` + +Produces a prompt that looks like: + +``` +AA -------------------------------------------- BB -------------------------------------------- CC + +``` + ## Google Cloud (`gcloud`) The `gcloud` module shows the current configuration for [`gcloud`](https://cloud.google.com/sdk/gcloud) CLI. This is based on the `~/.config/gcloud/active_config` file and the `~/.config/gcloud/configurations/config_{CONFIG NAME}` file and the `CLOUDSDK_CONFIG` env var. @@ -1205,12 +1276,13 @@ This module is disabled by default. To enable it, set `disabled` to `false` in y ### Options -| Option | Default | Description | -| --------------- | -------------------------------------------------------- | ---------------------------------- | -| `added_style` | `"bold green"` | The style for the added count. | -| `deleted_style` | `"bold red"` | The style for the deleted count. | -| `format` | `'[+$added]($added_style) [-$deleted]($deleted_style) '` | The format for the module. | -| `disabled` | `true` | Disables the `git_metrics` module. | +| Option | Default | Description | +| -------------------- | ------------------------------------------------------------ | ------------------------------------- | +| `added_style` | `"bold green"` | The style for the added count. | +| `deleted_style` | `"bold red"` | The style for the deleted count. | +| `only_nonzero_diffs` | `true` | Render status only for changed items. | +| `format` | `'([+$added]($added_style) )([-$deleted]($deleted_style) )'` | The format for the module. | +| `disabled` | `true` | Disables the `git_metrics` module. | ### Variables @@ -1318,9 +1390,9 @@ diverged = "⇕⇡${ahead_count}⇣${behind_count}" behind = "⇣${count}" ``` -## Golang +## Go -The `golang` module shows the currently installed version of [Golang](https://golang.org/). By default the module will be shown if any of the following conditions are met: +The `golang` module shows the currently installed version of [Go](https://golang.org/). By default the module will be shown if any of the following conditions are met: - The current directory contains a `go.mod` file - The current directory contains a `go.sum` file @@ -2041,18 +2113,18 @@ symbol = "☁️ " 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`, `composer`, `gradle`, `julia`, `mix` and `helm` packages. - [**npm**](https://docs.npmjs.com/cli/commands/npm) – The `npm` package version is extracted from the `package.json` present in the current directory -- [**cargo**](https://doc.rust-lang.org/cargo/) – The `cargo` package version is extracted from the `Cargo.toml` present in the current directory -- [**nimble**](https://github.com/nim-lang/nimble) - The `nimble` package version is extracted from the `*.nimble` file present in the current directory with the `nimble dump` command -- [**poetry**](https://python-poetry.org/) – The `poetry` package version is extracted from the `pyproject.toml` present in the current directory -- [**python**](https://www.python.org) - The `python` package version is extracted from the `setup.cfg` present in the current directory -- [**composer**](https://getcomposer.org/) – The `composer` package version is extracted from the `composer.json` present in the current directory -- [**gradle**](https://gradle.org/) – The `gradle` package version is extracted from the `build.gradle` present -- [**julia**](https://docs.julialang.org/en/v1/stdlib/Pkg/) - The package version is extracted from the `Project.toml` present -- [**mix**](https://hexdocs.pm/mix/) - The `mix` package version is extracted from the `mix.exs` present -- [**helm**](https://helm.sh/docs/helm/helm_package/) - The `helm` chart version is extracted from the `Chart.yaml` present -- [**maven**](https://maven.apache.org/) - The `maven` package version is extracted from the `pom.xml` present -- [**meson**](https://mesonbuild.com/) - The `meson` package version is extracted from the `meson.build` present -- [**vlang**](https://vlang.io) - The `vlang` package version is extracted from the `v.mod` present +- [**Cargo**](https://doc.rust-lang.org/cargo/) – The `cargo` package version is extracted from the `Cargo.toml` present in the current directory +- [**Nimble**](https://github.com/nim-lang/nimble) - The `nimble` package version is extracted from the `*.nimble` file present in the current directory with the `nimble dump` command +- [**Poetry**](https://python-poetry.org/) – The `poetry` package version is extracted from the `pyproject.toml` present in the current directory +- [**Python**](https://www.python.org) - The `python` package version is extracted from the `setup.cfg` present in the current directory +- [**Composer**](https://getcomposer.org/) – The `composer` package version is extracted from the `composer.json` present in the current directory +- [**Gradle**](https://gradle.org/) – The `gradle` package version is extracted from the `build.gradle` present +- [**Julia**](https://docs.julialang.org/en/v1/stdlib/Pkg/) - The package version is extracted from the `Project.toml` present +- [**Mix**](https://hexdocs.pm/mix/) - The `mix` package version is extracted from the `mix.exs` present +- [**Helm**](https://helm.sh/docs/helm/helm_package/) - The `helm` chart version is extracted from the `Chart.yaml` present +- [**Maven**](https://maven.apache.org/) - The `maven` package version is extracted from the `pom.xml` present +- [**Meson**](https://mesonbuild.com/) - The `meson` package version is extracted from the `meson.build` present +- [**V**](https://vlang.io) - The `vlang` package version is extracted from the `v.mod` present > ⚠️ The version being shown is that of the package whose source code is in your current directory, not your package manager. @@ -2296,7 +2368,7 @@ python_binary = ["./venv/bin/python", "python", "python3", "python2"] ## R -The `rlang` module shows the currently installed version of R. The module will be shown if any of the following conditions are met: +The `rlang` module shows the cu |