diff --git a/README.md b/README.md index 79e7dfc3..efa5116e 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,35 @@

-
- Starship – Cross-shell prompt

- - Crates.io version - - - Crates.io version + Azure Pipelines Build Status - - - Packaging status -
- - + Packaging status
All Contributors - - - + Chat on Discord - + />

+


Website @@ -40,6 +38,31 @@ · Configuration

+

+ English +  + 日本語 +  + 中文 +  + Deutsch +  + Français +  + Русский +

diff --git a/docs/de/README.md b/docs/de/README.md new file mode 100644 index 00000000..7cd8a78c --- /dev/null +++ b/docs/de/README.md @@ -0,0 +1,107 @@ +--- +home: true +heroImage: /logo.svg +actionText: Get Started → +actionLink: /guide/ +footer: ISC Licensed | Copyright © 2019-present Starship Contributors +--- + +
+
+

Compatibility First

+

Works on the most common shells on the most common operating systems. Use it everywhere!

+
+
+

Rust-Powered

+

Brings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible.

+
+
+

Customizable

+

Every little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.

+
+
+ +
+ +
+ +### Quick Install + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` diff --git a/docs/de/advanced-config/README.md b/docs/de/advanced-config/README.md new file mode 100644 index 00000000..d5d27031 --- /dev/null +++ b/docs/de/advanced-config/README.md @@ -0,0 +1,84 @@ +# Advanced Configuration + +While Starship is a versatile shell, sometimes you need to do more than edit `starship.toml` to get it to do certain things. This page details some of the more advanced configuration techniques used in starship. + +::: warning + +The configurations in this section are subject to change in future releases of Starship. + +::: + +## Custom pre-prompt and pre-execution Commands in Bash + +Bash does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `bash`. However, Starship does give you limited ability to insert your own functions into the prompt-rendering procedure: + +- To run a custom function right before the prompt is drawn, define a new function and then assign its name to `starship_precmd_user_func`. For example, to draw a rocket before the prompt, you would do + +```bash +function blastoff(){ + echo "🚀" +} +starship_precmd_user_func="blastoff" +``` + +- To run a custom function right before a command runs, you can use the [`DEBUG` trap mechanism](https://jichu4n.com/posts/debug-trap-and-prompt_command-in-bash/). However, you **must** trap the DEBUG signal *before* initializing Starship! Starship can preserve the value of the DEBUG trap, but if the trap is overwritten after starship starts up, some functionality will break. + +```bash +function blastoff(){ + echo "🚀" +} +trap blastoff DEBUG # Trap DEBUG *before* running starship +eval $(starship init bash) +``` + +## Change Window Title + +Some shell prompts will automatically change the window title for you (e.g. to reflect your working directory). Fish even does it by default. Starship does not do this, but it's fairly straightforward to add this functionality to `bash` or `zsh`. + +First, define a window title change function (identical in bash and zsh): + +```bash +function set_win_title(){ + echo -ne "\033]0; YOUR_WINDOW_TITLE_HERE \007" +} +``` + +You can use variables to customize this title (`$USER`, `$HOSTNAME`, and `$PWD` are popular choices). + +In `bash`, set this function to be the precmd starship function: + +```bash +starship_precmd_user_func="set_win_title" +``` + +In `zsh`, add this to the `precmd_functions` array: + +```bash +precmd_functions+=(set_win_title) +``` + +If you like the result, add these lines to your shell configuration file (`~/.bashrc` or `~/.zsrhc`) to make it permanent. + +## 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: + + - `bold` + - `underline` + - `dimmed` + - `bg:` + - `fg:` + - `` + - `none` + +where `` is a color specifier (discussed below). `fg:` and `` currently do the same thing , though this may change in the future. The order of words in the string does not matter. + +The `none` token overrides all other tokens in a string, so that e.g. `fg:red none fg:blue` will still create a string with no styling. It may become an error to use `none` in conjunction with other tokens in the future. + +A color specifier can be one of the following: + + - One of the standard terminal colors: `black`, `red`, `green`, `blue`, `yellow`, `purple`, `cyan`, `white`. You can optionally prefix these with `bright-` to get the bright version (e.g. `bright-white`). + - A `#` followed by a six-digit hexadecimal number. This specifies an [RGB color hex code](https://www.w3schools.com/colors/colors_hexadecimal.asp). + - A number between 0-255. This specifies an [8-bit ANSI Color Code](https://i.stack.imgur.com/KTSQa.png). + +If multiple colors are specified for foreground/background, the last one in the string will take priority. diff --git a/docs/de/config/README.md b/docs/de/config/README.md new file mode 100644 index 00000000..143e1779 --- /dev/null +++ b/docs/de/config/README.md @@ -0,0 +1,857 @@ +# Configuration + +::: tip + +🔥 Configuration is currently being worked on. Many new configuration options will be available in coming releases. + +::: + +To get started configuring starship, create the following file: `~/.config/starship.toml`. + +```shell +$ touch ~/.config/starship.toml +``` + +All configuration for starship is done in this [TOML](https://github.com/toml-lang/toml) file: + +```toml +# Don't print a new line at the start of the prompt +add_newline = false + +# Replace the "❯" symbol in the prompt with "➜" +[character] # The name of the module we are configuring is "character" +symbol = "➜" # The "symbol" segment is being set to "➜" + +# Disable the package module, hiding it from the prompt completely +[package] +disabled = true +``` + +### Terminology + +**Module**: A component in the prompt giving information based on contextual information from your OS. For example, the "nodejs" module shows the version of NodeJS that is currently installed on your computer, if your current directory is a NodeJS project. + +**Segment**: Smaller sub-components that compose a module. For example, the "symbol" segment in the "nodejs" module contains the character that is shown before the version number (⬢ by default). + +Here is the representation of the node module. In the following example, "symbol" and "version" are segments within it. Every module also has a prefix and suffix that are the default terminal color. + +``` +[prefix] [symbol] [version] [suffix] + "via " "⬢" "v10.4.1" "" +``` + +### Style Strings + +Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/). + +- `"fg:green bg:blue"` sets green text on a blue background +- `"bg:blue fg:bright-green"` sets bright green text on a blue background +- `"bold fg:27"` sets bold text with [ANSI color](https://i.stack.imgur.com/KTSQa.png) 27 +- `"underline bg:#bf5700"` sets underlined text on a burnt orange background +- `"bold italic fg:purple"` sets bold italic purple text +- `""` explicitly disables all styling + +Note that what styling looks like will be controlled by your terminal emulator. For example, some terminal emulators will brighten the colors instead of bolding text, and some color themes use the same values for the normal and bright colors. Also, to get italic text, your terminal must support italics. + +## Prompt + +This is the list of prompt-wide configuration options. + +### Options + +| Variable | Default | Description | +| -------------- | ----------------------------- | ------------------------------------------------------ | +| `add_newline` | `true` | Add a new line before the start of the prompt. | +| `prompt_order` | [link](#default-prompt-order) | Configure the order in which the prompt module occurs. | + +### Example + +```toml +# ~/.config/starship.toml + +# Disable the newline at the start of the prompt +add_newline = false +# Overwrite a default_prompt_order and use custom prompt_order +prompt_order=["rust","line_break","package","line_break","character"] +``` + +### Default Prompt Order + +The default `prompt_order` is used to define the order in which modules are shown in the prompt, if empty or no `prompt_order` is provided. The default is as shown: + +```toml +prompt_order = [ + "username", + "hostname", + "kubernetes", + "directory", + "git_branch", + "git_state", + "git_status", + "package", + "dotnet", + "golang", + "java", + "nodejs", + "python", + "ruby", + "rust", + "nix_shell", + "memory_usage", + "aws", + "env_var", + "cmd_duration", + "line_break", + "jobs", + "battery", + "time", + "character", +] +``` + +## AWS + +The `aws` module shows the current AWS profile. This is based on the `AWS_PROFILE` env var. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `symbol` | `"☁️ "` | The symbol used before displaying the current AWS profile. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `AWS` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[aws] +style = "bold blue" +symbol = "🅰 " +``` + +## Battery + +The `battery` module shows how charged the device's battery is and its current charging status. The module is only visible when the device's battery is below 10%. + +### Options + +| Variable | Default | Description | +| -------------------- | ------------------------ | ------------------------------------------------- | +| `full_symbol` | `"•"` | The symbol shown when the battery is full. | +| `charging_symbol` | `"⇡"` | The symbol shown when the battery is charging. | +| `discharging_symbol` | `"⇣"` | The symbol shown when the battery is discharging. | +| `display` | [link](#battery-display) | Display threshold and style for the module. | +| `disabled` | `false` | Disables the `battery` module. | + +
+There are also options for some uncommon battery states. + +| Variable | Description | +| ---------------- | --------------------------------------------------- | +| `unknown_symbol` | The symbol shown when the battery state is unknown. | +| `empty_symbol` | The symbol shown when the battery state is empty. | + +Note: Battery indicator will be hidden if the status is `unknown` or `empty` unless you specify the option in the config. + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[battery] +full_symbol = "🔋" +charging_symbol = "⚡️" +discharging_symbol = "💀" +``` + +### Battery Display + +The `display` configuration option is used to define when the battery indicator should be shown (threshold) and what it looks like (style). If no `display` is provided. The default is as shown: + +```toml +[[battery.display]] +threshold = 10 +style = "bold red" +``` + +#### Options + +The `display` option is an array of the following table. + +| Variable | Description | +| ----------- | ----------------------------------------------- | +| `threshold` | The upper bound for the display option. | +| `style` | The style used if the display option is in use. | + +#### Example + +```toml +[[battery.display]] # "bold red" style when capacity is between 0% and 10% +threshold = 10 +style = "bold red" + +[[battery.display]] # "bold yellow" style when capacity is between 10% and 30% +threshold = 30 +style = "bold yellow" + +# when capacity is over 30%, the battery indicator will not be displayed + +``` + +## Character + +The `character` module shows a character (usually an arrow) beside where the text is entered in your terminal. + +The character will tell you whether the last command was successful or not. It can do this in two ways: by changing color (red/green) or by changing its shape (❯/✖). The latter will only be done if `use_symbol_for_status` is set to `true`. + +### Options + +| Variable | Default | Description | +| ----------------------- | -------------- | ----------------------------------------------------------------------------------- | +| `symbol` | `"❯"` | The symbol used before the text input in the prompt. | +| `error_symbol` | `"✖"` | The symbol used before text input if the previous command failed. | +| `use_symbol_for_status` | `false` | Indicate error status by changing the symbol. | +| `vicmd_symbol` | `"❮"` | The symbol used before the text input in the prompt if shell is in vim normal mode. | +| `style_success` | `"bold green"` | The style used if the last command was successful. | +| `style_failure` | `"bold red"` | The style used if the last command failed. | +| `disabled` | `false` | Disables the `character` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[character] +symbol = "➜" +error_symbol = "✗" +use_symbol_for_status = true +``` + +## 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. + +::: 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. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `min_time` | `2` | Shortest duration to show time for. | +| `prefix` | `took` | Prefix to display immediately before the command duration. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `cmd_duration` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[cmd_duration] +min_time = 4 +prefix = "underwent " +``` + +## Directory + +The `directory` module shows the path to your current directory, truncated to three parent folders. Your directory will also be truncated to the root of the git repo that you're currently in. + +When using the fish style pwd option, instead of hiding the path that is truncated, you will see a shortened name of each directory based on the number you enable for the option. + +For example, given `~/Dev/Nix/nixpkgs/pkgs` where `nixpkgs` is the repo root, and the option set to `1`. You will now see `~/D/N/nixpkgs/pkgs`, whereas before it would have been `nixpkgs/pkgs`. + +### Options + +| Variable | Default | Description | +| ------------------- | ------------- | -------------------------------------------------------------------------------- | +| `truncation_length` | `3` | The number of parent folders that the current directory should be truncated to. | +| `truncate_to_repo` | `true` | Whether or not to truncate to the root of the git repo that you're currently in. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `directory` module. | + +
+This module has a few advanced configuration options that control how the directory is displayed. + +| Variable | Default | Description | +| --------------------------- | ------- | ---------------------------------------------------------------------------------------- | +| `fish_style_pwd_dir_length` | `0` | The number of characters to use when applying fish shell pwd path logic. | +| `use_logical_path` | `true` | Displays the logical path provided by the shell (`PWD`) instead of the path from the OS. | + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[directory] +truncation_length = 8 +``` + +## Dotnet + +The `dotnet` module shows the relevant version of the .NET Core SDK for the current directory. If the SDK has been pinned in the current directory, the pinned version is shown. Otherwise the module shows the latest installed version of the SDK. + +This module will only be shown in your prompt when one of the following files are present in the current directory: `global.json`, `project.json`, `*.sln`, `*.csproj`, `*.fsproj`, `*.xproj`. You'll also need the .NET Core command-line tools installed in order to use it correctly. + +Internally, this module uses its own mechanism for version detection. Typically it is twice as fast as running `dotnet --version`, but it may show an incorrect version if your .NET project has an unusual directory layout. If accuracy is more important than speed, you can disable the mechanism by setting `heuristic = false` in the module options. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"•NET "` | The symbol used before displaying the version of dotnet. | +| `style` | `"bold blue"` | The style for the module. | +| `heuristic` | `true` | Use faster version detection to keep starship snappy. | +| `disabled` | `false` | Disables the `dotnet` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[dotnet] +symbol = "🥅 " +style = "green" +heuristic = false +``` + +## Environment Variable + +The `env_var` module displays the current value of a selected environment variable. The module will be shown only if any of the following conditions are met: + +- The `variable` configuration option matches an existing environment variable +- The `variable` configuration option is not defined, but the `default` configuration option is + +### Options + +| Variable | Default | Description | +| ---------- | ---------------- | ---------------------------------------------------------------------------- | +| `symbol` | | The symbol used before displaying the variable value. | +| `variable` | | The environment variable to be displayed. | +| `default` | | The default value to be displayed when the selected variable is not defined. | +| `prefix` | `""` | Prefix to display immediately before the variable value. | +| `suffix` | `""` | Suffix to display immediately after the variable value. | +| `style` | `"dimmed black"` | The style for the module. | +| `disabled` | `false` | Disables the `env_var` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[env_var] +variable = "SHELL" +default = "unknown shell" +``` + +## Git Branch + +The `git_branch` module shows the active branch of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ------------------- | --------------- | ------------------------------------------------------------------------------------- | +| `symbol` | `" "` | The symbol used before the branch name of the repo in your current directory. | +| `truncation_length` | `2^63 - 1` | Truncates a git branch to X graphemes | +| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use "" for no symbol | +| `style` | `"bold purple"` | The style for the module. | +| `disabled` | `false` | Disables the `git_branch` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_branch] +symbol = "🌱 " +truncation_length = "4" +truncation_symbol = "" +``` + +## Git State + +The `git_state` module will show in directories which are part of a git repository, and where there is an operation in progress, such as: _REBASING_, _BISECTING_, etc. If there is progress information (e.g., REBASING 3/10), that information will be shown too. + +### Options + +| Variable | Default | Description | +| ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------- | +| `rebase` | `"REBASING"` | The text displayed when a `rebase` is in progress. | +| `merge` | `"MERGING"` | The text displayed when a `merge` is in progress. | +| `revert` | `"REVERTING"` | The text displayed when a `revert` is in progress. | +| `cherry_pick` | `"CHERRY-PICKING"` | The text displayed when a `cherry-pick` is in progress. | +| `bisect` | `"BISECTING"` | The text displayed when a `bisect` is in progress. | +| `am` | `"AM"` | The text displayed when an `apply-mailbox` (`git am`) is in progress. | +| `am_or_rebase` | `"AM/REBASE"` | The text displayed when an ambiguous `apply-mailbox` or `rebase` is in progress. | +| `progress_divider` | `"/"` | The symbol or text which will separate the current and total progress amounts. (e.g., `" of "`, for `"3 of 10"`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `git_state` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_state] +progress_divider = " of " +cherry_pick = "🍒 PICKING" +``` + +## Git Status + +The `git_status` module shows symbols representing the state of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ----------------- | ------------ | ------------------------------------------------------- | +| `conflicted` | `"="` | This branch has merge conflicts. | +| `ahead` | `"⇡"` | This branch is ahead of the branch being tracked. | +| `behind` | `"⇣"` | This branch is behind of the branch being tracked. | +| `diverged` | `"⇕"` | This branch has diverged from the branch being tracked. | +| `untracked` | `"?"` | There are untracked files in the working directory. | +| `stashed` | `"$"` | A stash exists for the local repository. | +| `modified` | `"!"` | There are file modifications in the working directory. | +| `staged` | `"+"` | A new file has been added to the staging area. | +| `renamed` | `"»"` | A renamed file has been added to the staging area. | +| `deleted` | `"✘"` | A file's deletion has been added to the staging area. | +| `show_sync_count` | `false` | Show ahead/behind count of the branch being tracked. | +| `prefix` | `[` | Prefix to display immediately before git status. | +| `suffix` | `]` | Suffix to display immediately after git status. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `git_status` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_status] +conflicted = "🏳" +ahead = "🏎💨" +behind = "😰" +diverged = "😵" +untracked = "🤷‍" +stashed = "📦" +modified = "📝" +staged = "➕" +renamed = "👅" +deleted = "🗑" +``` + +## Golang + +The `golang` module shows the currently installed version of Golang. 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 +- The current directory contains a `glide.yaml` file +- The current directory contains a `Gopkg.yml` file +- The current directory contains a `Gopkg.lock` file +- The current directory contains a `Godeps` directory +- The current directory contains a file with the `.go` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"🐹 "` | The symbol used before displaying the version of Golang. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `golang` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[golang] +symbol = "🏎💨 " +``` + +## Hostname + +The `hostname` module shows the system hostname. + +### Options + +| Variable | Default | Description | +| ---------- | --------------------- | ---------------------------------------------------- | +| `ssh_only` | `true` | Only show hostname when connected to an SSH session. | +| `prefix` | `""` | Prefix to display immediately before the hostname. | +| `suffix` | `""` | Suffix to display immediately after the hostname. | +| `style` | `"bold dimmed green"` | The style for the module. | +| `disabled` | `false` | Disables the `hostname` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[hostname] +ssh_only = false +prefix = "⟪" +suffix = "⟫" +disabled = false +``` + +## Jobs + +The `jobs` module shows the current number of jobs running. The module will be shown only if there are background jobs running. 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. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | ----------------------------------------------------- | +| `symbol` | `"✦ "` | The symbol used before displaying the number of jobs. | +| `threshold` | `1` | Show number of jobs if exceeded. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `jobs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[jobs] +symbol = "+ " +threshold = 4 +``` + + +## Kubernetes + +Displays the current Kubernetes context name and, if set, the namespace from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-cluster --namespace +astronaut`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | --------------------------------------------------- | +| `symbol` | `"☸ "` | The symbol used before displaying the Cluster info. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `kubernetes` module | + +### Example + +```toml +# ~/.config/starship.toml + +[kubernetes] +symbol = "⛵ " +style = "dim green" +disabled = true +``` + + +## Line Break + +The `line_break` module separates the prompt into two lines. + +### Options + +| Variable | Default | Description | +| ---------- | ------- | ------------------------------------------------------------------ | +| `disabled` | `false` | Disables the `line_break` module, making the prompt a single line. | + +### Example + +```toml +# ~/.config/starship.toml + +[line_break] +disabled = true +``` + +## Nix-shell + +The `nix_shell` module shows the nix-shell environment. The module will be shown when inside a nix-shell environment. + +### Options + +| Variable | Default | Description | +| ------------ | ------------ | ---------------------------------- | +| `use_name` | `false` | Display the name of the nix-shell. | +| `impure_msg` | `impure` | Customize the "impure" msg. | +| `pure_msg` | `pure` | Customize the "pure" msg. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `nix_shell` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nix_shell] +disabled = true +use_name = true +impure_msg = "impure shell" +pure_msg = "pure shell" +``` + +## Memory Usage + +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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ----------------- | ------------------------ | ------------------------------------------------------------- | +| `show_percentage` | `false` | Display memory usage as a percentage of the available memory. | +| `show_swap` | when total swap non-zero | Display swap usage. | +| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. | +| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. | +| `style` | `"bold dimmed white"` | The style for the module. | +| `disabled` | `true` | Disables the `memory_usage` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[memory_usage] +show_percentage = true +show_swap = true +threshold = -1 +icon = " " +style = "bold dimmed green" +``` + +## Java + +The `java` module shows the currently installed version of Java. The module will be shown if any of the following conditions are met: + +- The current directory contains a `pom.xml` or `build.gradle` file +- The current directory contains a file with the `.java`, `.class` or `.jar` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | ------------------------------------------------------ | +| `symbol` | `"☕ "` | The symbol used before displaying the version of Java. | +| `style` | `"dimmed red"` | The style for the module. | +| `disabled` | `false` | Disables the `java` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[java] +symbol = "🌟 " +``` + +## NodeJS + +The `nodejs` module shows the currently installed version of NodeJS. The module will be shown if any of the following conditions are met: + +- The current directory contains a `package.json` file +- The current directory contains a `node_modules` directory +- The current directory contains a file with the `.js` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | -------------------------------------------------------- | +| `symbol` | `"⬢ "` | The symbol used before displaying the version of NodeJS. | +| `style` | `"bold green"` | The style for the module. | +| `disabled` | `false` | Disables the `nodejs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nodejs] +symbol = "🤖 " +``` + +## 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`, `cargo`, and `poetry` packages. + +- **npm** – The `npm` package version is extracted from the `package.json` present in the current directory +- **cargo** – The `cargo` package version is extracted from the `Cargo.toml` present in the current directory +- **poetry** – The `poetry` package version is extracted from the `pyproject.toml` present in the current directory + +> ⚠️ The version being shown is that of the package whose source code is in your current directory, not your package manager. + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ---------------------------------------------------------- | +| `symbol` | `"📦 "` | The symbol used before displaying the version the package. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `package` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[package] +symbol = "🎁 " +``` + +## Python + +The `python` module shows the currently installed version of Python. + +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` and show the current Python virtual environment if one is activated. + +The module will be shown if any of the following conditions are met: + +- The current directory contains a `.python-version` file +- The current directory contains a `requirements.txt` file +- The current directory contains a `pyproject.toml` file +- The current directory contains a file with the `.py` extension +- The current directory contains a `Pipfile` file +- The current directory contains a `tox.ini` file + +### Options + +| Variable | Default | Description | +| -------------------- | --------------- | --------------------------------------------------------------------------- | +| `symbol` | `"🐍 "` | The symbol used before displaying the version of Python. | +| `pyenv_version_name` | `false` | Use pyenv to get Python version | +| `pyenv_prefix` | `"pyenv "` | Prefix before pyenv version display (default display is `pyenv MY_VERSION`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `python` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[python] +symbol = "👾 " +pyenv_version_name = true +pyenv_prefix = "foo " +``` + +## Ruby + +The `ruby` module shows the currently installed version of Ruby. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Gemfile` file +- The current directory contains a `.rb` file + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"💎 "` | The symbol used before displaying the version of Ruby. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `ruby` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[ruby] +symbol = "🔺 " +``` + +## Rust + +The `rust` module shows the currently installed version of Rust. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Cargo.toml` file +- The current directory contains a file with the `.rs` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"🦀 "` | The symbol used before displaying the version of Rust. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `rust` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[rust] +symbol = "⚙️ " +``` + +## 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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | ------------------------------------------------------------------------------------------------------------------- | +| `12hr` | `false` | Enables 12 hour formatting | +| `format` | see below | The [chrono format string](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) used to format the time. | +| `style` | `bold yellow` | The style for the module time | +| `disabled` | `true` | Disables the `time` module. | + +If `12hr` is `true`, then `format` defaults to `"%r"`. Otherwise, it defaults to `"%T"`. Manually setting `format` will override the `12hr` setting. + +### Example + +```toml +# ~/.config/starship.toml + +[time] +disabled = false +format = "🕙[ %T ]" +``` + +## Username + +The `username` module shows active user's username. The module will be shown if any of the following conditions are met: + +- The current user is root +- The current user isn't the same as the one that is logged in +- The user is currently connected as an SSH session +- The variable `show_always` is set to true + +### Options + +| Variable | Default | Description | +| ------------- | --------------- | ------------------------------------- | +| `style_root` | `"bold red"` | The style used when the user is root. | +| `style_user` | `"bold yellow"` | The style used for non-root users. | +| `show_always` | `false` | Always shows the `username` module. | +| `disabled` | `false` | Disables the `username` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[username] +disabled = true +``` diff --git a/docs/de/guide/README.md b/docs/de/guide/README.md new file mode 120000 index 00000000..3a44923c --- /dev/null +++ b/docs/de/guide/README.md @@ -0,0 +1 @@ +../../../translations/README.de.md \ No newline at end of file diff --git a/docs/fr/README.md b/docs/fr/README.md new file mode 100644 index 00000000..7cd8a78c --- /dev/null +++ b/docs/fr/README.md @@ -0,0 +1,107 @@ +--- +home: true +heroImage: /logo.svg +actionText: Get Started → +actionLink: /guide/ +footer: ISC Licensed | Copyright © 2019-present Starship Contributors +--- + +
+
+

Compatibility First

+

Works on the most common shells on the most common operating systems. Use it everywhere!

+
+
+

Rust-Powered

+

Brings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible.

+
+
+

Customizable

+

Every little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.

+
+
+ +
+ +
+ +### Quick Install + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` diff --git a/docs/fr/advanced-config/README.md b/docs/fr/advanced-config/README.md new file mode 100644 index 00000000..d5d27031 --- /dev/null +++ b/docs/fr/advanced-config/README.md @@ -0,0 +1,84 @@ +# Advanced Configuration + +While Starship is a versatile shell, sometimes you need to do more than edit `starship.toml` to get it to do certain things. This page details some of the more advanced configuration techniques used in starship. + +::: warning + +The configurations in this section are subject to change in future releases of Starship. + +::: + +## Custom pre-prompt and pre-execution Commands in Bash + +Bash does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `bash`. However, Starship does give you limited ability to insert your own functions into the prompt-rendering procedure: + +- To run a custom function right before the prompt is drawn, define a new function and then assign its name to `starship_precmd_user_func`. For example, to draw a rocket before the prompt, you would do + +```bash +function blastoff(){ + echo "🚀" +} +starship_precmd_user_func="blastoff" +``` + +- To run a custom function right before a command runs, you can use the [`DEBUG` trap mechanism](https://jichu4n.com/posts/debug-trap-and-prompt_command-in-bash/). However, you **must** trap the DEBUG signal *before* initializing Starship! Starship can preserve the value of the DEBUG trap, but if the trap is overwritten after starship starts up, some functionality will break. + +```bash +function blastoff(){ + echo "🚀" +} +trap blastoff DEBUG # Trap DEBUG *before* running starship +eval $(starship init bash) +``` + +## Change Window Title + +Some shell prompts will automatically change the window title for you (e.g. to reflect your working directory). Fish even does it by default. Starship does not do this, but it's fairly straightforward to add this functionality to `bash` or `zsh`. + +First, define a window title change function (identical in bash and zsh): + +```bash +function set_win_title(){ + echo -ne "\033]0; YOUR_WINDOW_TITLE_HERE \007" +} +``` + +You can use variables to customize this title (`$USER`, `$HOSTNAME`, and `$PWD` are popular choices). + +In `bash`, set this function to be the precmd starship function: + +```bash +starship_precmd_user_func="set_win_title" +``` + +In `zsh`, add this to the `precmd_functions` array: + +```bash +precmd_functions+=(set_win_title) +``` + +If you like the result, add these lines to your shell configuration file (`~/.bashrc` or `~/.zsrhc`) to make it permanent. + +## 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: + + - `bold` + - `underline` + - `dimmed` + - `bg:` + - `fg:` + - `` + - `none` + +where `` is a color specifier (discussed below). `fg:` and `` currently do the same thing , though this may change in the future. The order of words in the string does not matter. + +The `none` token overrides all other tokens in a string, so that e.g. `fg:red none fg:blue` will still create a string with no styling. It may become an error to use `none` in conjunction with other tokens in the future. + +A color specifier can be one of the following: + + - One of the standard terminal colors: `black`, `red`, `green`, `blue`, `yellow`, `purple`, `cyan`, `white`. You can optionally prefix these with `bright-` to get the bright version (e.g. `bright-white`). + - A `#` followed by a six-digit hexadecimal number. This specifies an [RGB color hex code](https://www.w3schools.com/colors/colors_hexadecimal.asp). + - A number between 0-255. This specifies an [8-bit ANSI Color Code](https://i.stack.imgur.com/KTSQa.png). + +If multiple colors are specified for foreground/background, the last one in the string will take priority. diff --git a/docs/fr/config/README.md b/docs/fr/config/README.md new file mode 100644 index 00000000..143e1779 --- /dev/null +++ b/docs/fr/config/README.md @@ -0,0 +1,857 @@ +# Configuration + +::: tip + +🔥 Configuration is currently being worked on. Many new configuration options will be available in coming releases. + +::: + +To get started configuring starship, create the following file: `~/.config/starship.toml`. + +```shell +$ touch ~/.config/starship.toml +``` + +All configuration for starship is done in this [TOML](https://github.com/toml-lang/toml) file: + +```toml +# Don't print a new line at the start of the prompt +add_newline = false + +# Replace the "❯" symbol in the prompt with "➜" +[character] # The name of the module we are configuring is "character" +symbol = "➜" # The "symbol" segment is being set to "➜" + +# Disable the package module, hiding it from the prompt completely +[package] +disabled = true +``` + +### Terminology + +**Module**: A component in the prompt giving information based on contextual information from your OS. For example, the "nodejs" module shows the version of NodeJS that is currently installed on your computer, if your current directory is a NodeJS project. + +**Segment**: Smaller sub-components that compose a module. For example, the "symbol" segment in the "nodejs" module contains the character that is shown before the version number (⬢ by default). + +Here is the representation of the node module. In the following example, "symbol" and "version" are segments within it. Every module also has a prefix and suffix that are the default terminal color. + +``` +[prefix] [symbol] [version] [suffix] + "via " "⬢" "v10.4.1" "" +``` + +### Style Strings + +Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/). + +- `"fg:green bg:blue"` sets green text on a blue background +- `"bg:blue fg:bright-green"` sets bright green text on a blue background +- `"bold fg:27"` sets bold text with [ANSI color](https://i.stack.imgur.com/KTSQa.png) 27 +- `"underline bg:#bf5700"` sets underlined text on a burnt orange background +- `"bold italic fg:purple"` sets bold italic purple text +- `""` explicitly disables all styling + +Note that what styling looks like will be controlled by your terminal emulator. For example, some terminal emulators will brighten the colors instead of bolding text, and some color themes use the same values for the normal and bright colors. Also, to get italic text, your terminal must support italics. + +## Prompt + +This is the list of prompt-wide configuration options. + +### Options + +| Variable | Default | Description | +| -------------- | ----------------------------- | ------------------------------------------------------ | +| `add_newline` | `true` | Add a new line before the start of the prompt. | +| `prompt_order` | [link](#default-prompt-order) | Configure the order in which the prompt module occurs. | + +### Example + +```toml +# ~/.config/starship.toml + +# Disable the newline at the start of the prompt +add_newline = false +# Overwrite a default_prompt_order and use custom prompt_order +prompt_order=["rust","line_break","package","line_break","character"] +``` + +### Default Prompt Order + +The default `prompt_order` is used to define the order in which modules are shown in the prompt, if empty or no `prompt_order` is provided. The default is as shown: + +```toml +prompt_order = [ + "username", + "hostname", + "kubernetes", + "directory", + "git_branch", + "git_state", + "git_status", + "package", + "dotnet", + "golang", + "java", + "nodejs", + "python", + "ruby", + "rust", + "nix_shell", + "memory_usage", + "aws", + "env_var", + "cmd_duration", + "line_break", + "jobs", + "battery", + "time", + "character", +] +``` + +## AWS + +The `aws` module shows the current AWS profile. This is based on the `AWS_PROFILE` env var. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `symbol` | `"☁️ "` | The symbol used before displaying the current AWS profile. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `AWS` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[aws] +style = "bold blue" +symbol = "🅰 " +``` + +## Battery + +The `battery` module shows how charged the device's battery is and its current charging status. The module is only visible when the device's battery is below 10%. + +### Options + +| Variable | Default | Description | +| -------------------- | ------------------------ | ------------------------------------------------- | +| `full_symbol` | `"•"` | The symbol shown when the battery is full. | +| `charging_symbol` | `"⇡"` | The symbol shown when the battery is charging. | +| `discharging_symbol` | `"⇣"` | The symbol shown when the battery is discharging. | +| `display` | [link](#battery-display) | Display threshold and style for the module. | +| `disabled` | `false` | Disables the `battery` module. | + +
+There are also options for some uncommon battery states. + +| Variable | Description | +| ---------------- | --------------------------------------------------- | +| `unknown_symbol` | The symbol shown when the battery state is unknown. | +| `empty_symbol` | The symbol shown when the battery state is empty. | + +Note: Battery indicator will be hidden if the status is `unknown` or `empty` unless you specify the option in the config. + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[battery] +full_symbol = "🔋" +charging_symbol = "⚡️" +discharging_symbol = "💀" +``` + +### Battery Display + +The `display` configuration option is used to define when the battery indicator should be shown (threshold) and what it looks like (style). If no `display` is provided. The default is as shown: + +```toml +[[battery.display]] +threshold = 10 +style = "bold red" +``` + +#### Options + +The `display` option is an array of the following table. + +| Variable | Description | +| ----------- | ----------------------------------------------- | +| `threshold` | The upper bound for the display option. | +| `style` | The style used if the display option is in use. | + +#### Example + +```toml +[[battery.display]] # "bold red" style when capacity is between 0% and 10% +threshold = 10 +style = "bold red" + +[[battery.display]] # "bold yellow" style when capacity is between 10% and 30% +threshold = 30 +style = "bold yellow" + +# when capacity is over 30%, the battery indicator will not be displayed + +``` + +## Character + +The `character` module shows a character (usually an arrow) beside where the text is entered in your terminal. + +The character will tell you whether the last command was successful or not. It can do this in two ways: by changing color (red/green) or by changing its shape (❯/✖). The latter will only be done if `use_symbol_for_status` is set to `true`. + +### Options + +| Variable | Default | Description | +| ----------------------- | -------------- | ----------------------------------------------------------------------------------- | +| `symbol` | `"❯"` | The symbol used before the text input in the prompt. | +| `error_symbol` | `"✖"` | The symbol used before text input if the previous command failed. | +| `use_symbol_for_status` | `false` | Indicate error status by changing the symbol. | +| `vicmd_symbol` | `"❮"` | The symbol used before the text input in the prompt if shell is in vim normal mode. | +| `style_success` | `"bold green"` | The style used if the last command was successful. | +| `style_failure` | `"bold red"` | The style used if the last command failed. | +| `disabled` | `false` | Disables the `character` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[character] +symbol = "➜" +error_symbol = "✗" +use_symbol_for_status = true +``` + +## 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. + +::: 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. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `min_time` | `2` | Shortest duration to show time for. | +| `prefix` | `took` | Prefix to display immediately before the command duration. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `cmd_duration` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[cmd_duration] +min_time = 4 +prefix = "underwent " +``` + +## Directory + +The `directory` module shows the path to your current directory, truncated to three parent folders. Your directory will also be truncated to the root of the git repo that you're currently in. + +When using the fish style pwd option, instead of hiding the path that is truncated, you will see a shortened name of each directory based on the number you enable for the option. + +For example, given `~/Dev/Nix/nixpkgs/pkgs` where `nixpkgs` is the repo root, and the option set to `1`. You will now see `~/D/N/nixpkgs/pkgs`, whereas before it would have been `nixpkgs/pkgs`. + +### Options + +| Variable | Default | Description | +| ------------------- | ------------- | -------------------------------------------------------------------------------- | +| `truncation_length` | `3` | The number of parent folders that the current directory should be truncated to. | +| `truncate_to_repo` | `true` | Whether or not to truncate to the root of the git repo that you're currently in. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `directory` module. | + +
+This module has a few advanced configuration options that control how the directory is displayed. + +| Variable | Default | Description | +| --------------------------- | ------- | ---------------------------------------------------------------------------------------- | +| `fish_style_pwd_dir_length` | `0` | The number of characters to use when applying fish shell pwd path logic. | +| `use_logical_path` | `true` | Displays the logical path provided by the shell (`PWD`) instead of the path from the OS. | + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[directory] +truncation_length = 8 +``` + +## Dotnet + +The `dotnet` module shows the relevant version of the .NET Core SDK for the current directory. If the SDK has been pinned in the current directory, the pinned version is shown. Otherwise the module shows the latest installed version of the SDK. + +This module will only be shown in your prompt when one of the following files are present in the current directory: `global.json`, `project.json`, `*.sln`, `*.csproj`, `*.fsproj`, `*.xproj`. You'll also need the .NET Core command-line tools installed in order to use it correctly. + +Internally, this module uses its own mechanism for version detection. Typically it is twice as fast as running `dotnet --version`, but it may show an incorrect version if your .NET project has an unusual directory layout. If accuracy is more important than speed, you can disable the mechanism by setting `heuristic = false` in the module options. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"•NET "` | The symbol used before displaying the version of dotnet. | +| `style` | `"bold blue"` | The style for the module. | +| `heuristic` | `true` | Use faster version detection to keep starship snappy. | +| `disabled` | `false` | Disables the `dotnet` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[dotnet] +symbol = "🥅 " +style = "green" +heuristic = false +``` + +## Environment Variable + +The `env_var` module displays the current value of a selected environment variable. The module will be shown only if any of the following conditions are met: + +- The `variable` configuration option matches an existing environment variable +- The `variable` configuration option is not defined, but the `default` configuration option is + +### Options + +| Variable | Default | Description | +| ---------- | ---------------- | ---------------------------------------------------------------------------- | +| `symbol` | | The symbol used before displaying the variable value. | +| `variable` | | The environment variable to be displayed. | +| `default` | | The default value to be displayed when the selected variable is not defined. | +| `prefix` | `""` | Prefix to display immediately before the variable value. | +| `suffix` | `""` | Suffix to display immediately after the variable value. | +| `style` | `"dimmed black"` | The style for the module. | +| `disabled` | `false` | Disables the `env_var` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[env_var] +variable = "SHELL" +default = "unknown shell" +``` + +## Git Branch + +The `git_branch` module shows the active branch of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ------------------- | --------------- | ------------------------------------------------------------------------------------- | +| `symbol` | `" "` | The symbol used before the branch name of the repo in your current directory. | +| `truncation_length` | `2^63 - 1` | Truncates a git branch to X graphemes | +| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use "" for no symbol | +| `style` | `"bold purple"` | The style for the module. | +| `disabled` | `false` | Disables the `git_branch` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_branch] +symbol = "🌱 " +truncation_length = "4" +truncation_symbol = "" +``` + +## Git State + +The `git_state` module will show in directories which are part of a git repository, and where there is an operation in progress, such as: _REBASING_, _BISECTING_, etc. If there is progress information (e.g., REBASING 3/10), that information will be shown too. + +### Options + +| Variable | Default | Description | +| ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------- | +| `rebase` | `"REBASING"` | The text displayed when a `rebase` is in progress. | +| `merge` | `"MERGING"` | The text displayed when a `merge` is in progress. | +| `revert` | `"REVERTING"` | The text displayed when a `revert` is in progress. | +| `cherry_pick` | `"CHERRY-PICKING"` | The text displayed when a `cherry-pick` is in progress. | +| `bisect` | `"BISECTING"` | The text displayed when a `bisect` is in progress. | +| `am` | `"AM"` | The text displayed when an `apply-mailbox` (`git am`) is in progress. | +| `am_or_rebase` | `"AM/REBASE"` | The text displayed when an ambiguous `apply-mailbox` or `rebase` is in progress. | +| `progress_divider` | `"/"` | The symbol or text which will separate the current and total progress amounts. (e.g., `" of "`, for `"3 of 10"`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `git_state` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_state] +progress_divider = " of " +cherry_pick = "🍒 PICKING" +``` + +## Git Status + +The `git_status` module shows symbols representing the state of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ----------------- | ------------ | ------------------------------------------------------- | +| `conflicted` | `"="` | This branch has merge conflicts. | +| `ahead` | `"⇡"` | This branch is ahead of the branch being tracked. | +| `behind` | `"⇣"` | This branch is behind of the branch being tracked. | +| `diverged` | `"⇕"` | This branch has diverged from the branch being tracked. | +| `untracked` | `"?"` | There are untracked files in the working directory. | +| `stashed` | `"$"` | A stash exists for the local repository. | +| `modified` | `"!"` | There are file modifications in the working directory. | +| `staged` | `"+"` | A new file has been added to the staging area. | +| `renamed` | `"»"` | A renamed file has been added to the staging area. | +| `deleted` | `"✘"` | A file's deletion has been added to the staging area. | +| `show_sync_count` | `false` | Show ahead/behind count of the branch being tracked. | +| `prefix` | `[` | Prefix to display immediately before git status. | +| `suffix` | `]` | Suffix to display immediately after git status. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `git_status` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_status] +conflicted = "🏳" +ahead = "🏎💨" +behind = "😰" +diverged = "😵" +untracked = "🤷‍" +stashed = "📦" +modified = "📝" +staged = "➕" +renamed = "👅" +deleted = "🗑" +``` + +## Golang + +The `golang` module shows the currently installed version of Golang. 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 +- The current directory contains a `glide.yaml` file +- The current directory contains a `Gopkg.yml` file +- The current directory contains a `Gopkg.lock` file +- The current directory contains a `Godeps` directory +- The current directory contains a file with the `.go` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"🐹 "` | The symbol used before displaying the version of Golang. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `golang` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[golang] +symbol = "🏎💨 " +``` + +## Hostname + +The `hostname` module shows the system hostname. + +### Options + +| Variable | Default | Description | +| ---------- | --------------------- | ---------------------------------------------------- | +| `ssh_only` | `true` | Only show hostname when connected to an SSH session. | +| `prefix` | `""` | Prefix to display immediately before the hostname. | +| `suffix` | `""` | Suffix to display immediately after the hostname. | +| `style` | `"bold dimmed green"` | The style for the module. | +| `disabled` | `false` | Disables the `hostname` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[hostname] +ssh_only = false +prefix = "⟪" +suffix = "⟫" +disabled = false +``` + +## Jobs + +The `jobs` module shows the current number of jobs running. The module will be shown only if there are background jobs running. 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. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | ----------------------------------------------------- | +| `symbol` | `"✦ "` | The symbol used before displaying the number of jobs. | +| `threshold` | `1` | Show number of jobs if exceeded. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `jobs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[jobs] +symbol = "+ " +threshold = 4 +``` + + +## Kubernetes + +Displays the current Kubernetes context name and, if set, the namespace from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-cluster --namespace +astronaut`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | --------------------------------------------------- | +| `symbol` | `"☸ "` | The symbol used before displaying the Cluster info. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `kubernetes` module | + +### Example + +```toml +# ~/.config/starship.toml + +[kubernetes] +symbol = "⛵ " +style = "dim green" +disabled = true +``` + + +## Line Break + +The `line_break` module separates the prompt into two lines. + +### Options + +| Variable | Default | Description | +| ---------- | ------- | ------------------------------------------------------------------ | +| `disabled` | `false` | Disables the `line_break` module, making the prompt a single line. | + +### Example + +```toml +# ~/.config/starship.toml + +[line_break] +disabled = true +``` + +## Nix-shell + +The `nix_shell` module shows the nix-shell environment. The module will be shown when inside a nix-shell environment. + +### Options + +| Variable | Default | Description | +| ------------ | ------------ | ---------------------------------- | +| `use_name` | `false` | Display the name of the nix-shell. | +| `impure_msg` | `impure` | Customize the "impure" msg. | +| `pure_msg` | `pure` | Customize the "pure" msg. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `nix_shell` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nix_shell] +disabled = true +use_name = true +impure_msg = "impure shell" +pure_msg = "pure shell" +``` + +## Memory Usage + +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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ----------------- | ------------------------ | ------------------------------------------------------------- | +| `show_percentage` | `false` | Display memory usage as a percentage of the available memory. | +| `show_swap` | when total swap non-zero | Display swap usage. | +| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. | +| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. | +| `style` | `"bold dimmed white"` | The style for the module. | +| `disabled` | `true` | Disables the `memory_usage` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[memory_usage] +show_percentage = true +show_swap = true +threshold = -1 +icon = " " +style = "bold dimmed green" +``` + +## Java + +The `java` module shows the currently installed version of Java. The module will be shown if any of the following conditions are met: + +- The current directory contains a `pom.xml` or `build.gradle` file +- The current directory contains a file with the `.java`, `.class` or `.jar` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | ------------------------------------------------------ | +| `symbol` | `"☕ "` | The symbol used before displaying the version of Java. | +| `style` | `"dimmed red"` | The style for the module. | +| `disabled` | `false` | Disables the `java` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[java] +symbol = "🌟 " +``` + +## NodeJS + +The `nodejs` module shows the currently installed version of NodeJS. The module will be shown if any of the following conditions are met: + +- The current directory contains a `package.json` file +- The current directory contains a `node_modules` directory +- The current directory contains a file with the `.js` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | -------------------------------------------------------- | +| `symbol` | `"⬢ "` | The symbol used before displaying the version of NodeJS. | +| `style` | `"bold green"` | The style for the module. | +| `disabled` | `false` | Disables the `nodejs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nodejs] +symbol = "🤖 " +``` + +## 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`, `cargo`, and `poetry` packages. + +- **npm** – The `npm` package version is extracted from the `package.json` present in the current directory +- **cargo** – The `cargo` package version is extracted from the `Cargo.toml` present in the current directory +- **poetry** – The `poetry` package version is extracted from the `pyproject.toml` present in the current directory + +> ⚠️ The version being shown is that of the package whose source code is in your current directory, not your package manager. + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ---------------------------------------------------------- | +| `symbol` | `"📦 "` | The symbol used before displaying the version the package. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `package` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[package] +symbol = "🎁 " +``` + +## Python + +The `python` module shows the currently installed version of Python. + +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` and show the current Python virtual environment if one is activated. + +The module will be shown if any of the following conditions are met: + +- The current directory contains a `.python-version` file +- The current directory contains a `requirements.txt` file +- The current directory contains a `pyproject.toml` file +- The current directory contains a file with the `.py` extension +- The current directory contains a `Pipfile` file +- The current directory contains a `tox.ini` file + +### Options + +| Variable | Default | Description | +| -------------------- | --------------- | --------------------------------------------------------------------------- | +| `symbol` | `"🐍 "` | The symbol used before displaying the version of Python. | +| `pyenv_version_name` | `false` | Use pyenv to get Python version | +| `pyenv_prefix` | `"pyenv "` | Prefix before pyenv version display (default display is `pyenv MY_VERSION`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `python` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[python] +symbol = "👾 " +pyenv_version_name = true +pyenv_prefix = "foo " +``` + +## Ruby + +The `ruby` module shows the currently installed version of Ruby. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Gemfile` file +- The current directory contains a `.rb` file + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"💎 "` | The symbol used before displaying the version of Ruby. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `ruby` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[ruby] +symbol = "🔺 " +``` + +## Rust + +The `rust` module shows the currently installed version of Rust. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Cargo.toml` file +- The current directory contains a file with the `.rs` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"🦀 "` | The symbol used before displaying the version of Rust. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `rust` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[rust] +symbol = "⚙️ " +``` + +## 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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | ------------------------------------------------------------------------------------------------------------------- | +| `12hr` | `false` | Enables 12 hour formatting | +| `format` | see below | The [chrono format string](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) used to format the time. | +| `style` | `bold yellow` | The style for the module time | +| `disabled` | `true` | Disables the `time` module. | + +If `12hr` is `true`, then `format` defaults to `"%r"`. Otherwise, it defaults to `"%T"`. Manually setting `format` will override the `12hr` setting. + +### Example + +```toml +# ~/.config/starship.toml + +[time] +disabled = false +format = "🕙[ %T ]" +``` + +## Username + +The `username` module shows active user's username. The module will be shown if any of the following conditions are met: + +- The current user is root +- The current user isn't the same as the one that is logged in +- The user is currently connected as an SSH session +- The variable `show_always` is set to true + +### Options + +| Variable | Default | Description | +| ------------- | --------------- | ------------------------------------- | +| `style_root` | `"bold red"` | The style used when the user is root. | +| `style_user` | `"bold yellow"` | The style used for non-root users. | +| `show_always` | `false` | Always shows the `username` module. | +| `disabled` | `false` | Disables the `username` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[username] +disabled = true +``` diff --git a/docs/fr/guide/README.md b/docs/fr/guide/README.md new file mode 120000 index 00000000..2fc612fb --- /dev/null +++ b/docs/fr/guide/README.md @@ -0,0 +1 @@ +../../../translations/README.fr.md \ No newline at end of file diff --git a/docs/ja/config/README.md b/docs/ja/config/README.md index f07bde8f..81cae884 100644 --- a/docs/ja/config/README.md +++ b/docs/ja/config/README.md @@ -83,18 +83,21 @@ prompt_order=["rust","line_break","package","line_break","character"] prompt_order = [ "username", "hostname", + "kubernetes", "directory", "git_branch", "git_state", "git_status", "package", - "nodejs", - "ruby", - "rust", - "python", + "dotnet", "golang", "java", + "nodejs", + "python", + "ruby", + "rust", "nix_shell", + "memory_usage", "aws", "env_var", "cmd_duration", @@ -243,11 +246,12 @@ preexecのような機能を必要とするBashユーザーは、 [rcalorasのba ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | --------------- | --------------------------- | -| `min_time` | `2` | 時間を表示する最短期間です。 | -| `style` | `"bold yellow"` | モジュールのスタイルです。 | -| `disabled` | `false` | `cmd_duration`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | --------------- | ---------------------------------------------------------- | +| `min_time` | `2` | 時間を表示する最短期間です。 | +| `prefix` | `took` | Prefix to display immediately before the command duration. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `cmd_duration` module. | ### 設定例 @@ -256,6 +260,7 @@ preexecのような機能を必要とするBashユーザーは、 [rcalorasのba [cmd_duration] min_time = 4 +prefix = "underwent " ``` ## ディレクトリ @@ -294,24 +299,52 @@ fishスタイルのpwdオプションを使用すると、切り捨てられた truncation_length = 8 ``` -## 環境変数 +## Dotnet -`env_var`モジュールは、選択された環境変数の現在の値を表示します。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `dotnet` module shows the relevant version of the .NET Core SDK for the current directory. If the SDK has been pinned in the current directory, the pinned version is shown. Otherwise the module shows the latest installed version of the SDK. + +This module will only be shown in your prompt when one of the following files are present in the current directory: `global.json`, `project.json`, `*.sln`, `*.csproj`, `*.fsproj`, `*.xproj`. You'll also need the .NET Core command-line tools installed in order to use it correctly. + +Internally, this module uses its own mechanism for version detection. Typically it is twice as fast as running `dotnet --version`, but it may show an incorrect version if your .NET project has an unusual directory layout. If accuracy is more important than speed, you can disable the mechanism by setting `heuristic = false` in the module options. + +### オプション + +| 変数 | デフォルト | 説明 | +| ----------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"•NET "` | The symbol used before displaying the version of dotnet. | +| `style` | `"bold blue"` | The style for the module. | +| `heuristic` | `true` | Use faster version detection to keep starship snappy. | +| `disabled` | `false` | Disables the `dotnet` module. | + +### 設定例 + +```toml +# ~/.config/starship.toml + +[dotnet] +symbol = "🥅 " +style = "green" +heuristic = false +``` + +## Environment Variable + +The `env_var` module displays the current value of a selected environment variable. The module will be shown only if any of the following conditions are met: - `variable`オプションが、既存の環境変数と一致する - `variable`オプションが定義されておらず、`default`オプションが定義されている ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | ---------------- | ------------------------------------- | -| `symbol` | | 環境変数を表示する前に使用される記号です。 | -| `variable` | | 表示される環境変数です。 | -| `default` | | 上のvariableが定義されていない場合に表示されるデフォルトの値です。 | -| `prefix` | `""` | 変数の直前に表示するprefixです。 | -| `suffix` | `""` | 変数の直後に表示するsuffixです。 | -| `style` | `"dimmed black"` | モジュールのスタイルです。 | -| `disabled` | `false` | `env_var`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | ---------------- | ---------------------------------------------------------------------------- | +| `symbol` | | The symbol used before displaying the variable value. | +| `variable` | | The environment variable to be displayed. | +| `default` | | The default value to be displayed when the selected variable is not defined. | +| `prefix` | `""` | Prefix to display immediately before the variable value. | +| `suffix` | `""` | Suffix to display immediately after the variable value. | +| `style` | `"dimmed black"` | The style for the module. | +| `disabled` | `false` | Disables the `env_var` module. | ### 設定例 @@ -323,19 +356,19 @@ variable = "SHELL" default = "unknown shell" ``` -## Git ブランチ +## Git Branch -`git_branch`モジュールは、現在のディレクトリにあるリポジトリのアクティブなブランチを表示します。 +The `git_branch` module shows the active branch of the repo in your current directory. ### オプション -| 変数 | デフォルト | 説明 | -| ------------------- | --------------- | ------------------------------------------- | -| `symbol` | `" "` | 現在のディレクトリのリポジトリのブランチ名の前に使用されるシンボルです。 | -| `truncation_length` | `2^63 - 1` | gitブランチをX書記素に切り捨てます。 | -| `truncation_symbol` | `"…"` | ブランチ名切り捨てられていることを示すための記号です。 記号なしに「」も使用できます。 | -| `style` | `"bold purple"` | モジュールのスタイルです。 | -| `disabled` | `false` | `git_branch`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ------------------- | --------------- | ------------------------------------------------------------------------------------- | +| `symbol` | `" "` | The symbol used before the branch name of the repo in your current directory. | +| `truncation_length` | `2^63 - 1` | Truncates a git branch to X graphemes | +| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use "" for no symbol | +| `style` | `"bold purple"` | The style for the module. | +| `disabled` | `false` | Disables the `git_branch` module. | ### 設定例 @@ -348,24 +381,24 @@ truncation_length = "4" truncation_symbol = "" ``` -## Git の進行状態 +## Git State -`git_state`モジュールはgitディレクトリの進行状態を表します。 (例: _REBASING_, _BISECTING_, その他) 進捗情報がある場合(例: REBASING 3/10)はその情報も表示されます。 +The `git_state` module will show in directories which are part of a git repository, and where there is an operation in progress, such as: _REBASING_, _BISECTING_, etc. If there is progress information (e.g., REBASING 3/10), that information will be shown too. ### オプション -| 変数 | デフォルト | 説明 | -| ------------------ | ------------------ | -------------------------------------------------------- | -| `rebase` | `"REBASING"` | `rebase`進行中に表示されるテキストです。 | -| `merge` | `"MERGING"` | `merge`進行中に表示されるテキストです。 | -| `revert` | `"REVERTING"` | `revert`進行中に表示されるテキストです。 | -| `cherry_pick` | `"CHERRY-PICKING"` | `cherry-pick`進行中に表示されるテキストです。 | -| `bisect` | `"BISECTING"` | `disect`進行中に表示されるテキストです。 | -| `am` | `"AM"` | `apply-mailbox` (`git am`) の進行中に表示されるテキストです。 | -| `am_or_rebase` | `"AM/REBASE"` | あいまいな`apply-mailbox`または`rebase`が進行中のときに表示されるテキストです。 | -| `progress_divider` | `"/"` | 現在の進行量と合計進行量を分ける記号またはテキストです。 (例: `" of "` 、 `"3 of 10"`) | -| `style` | `"bold yellow"` | モジュールのスタイルです。 | -| `disabled` | `false` | `git_state`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------- | +| `rebase` | `"REBASING"` | The text displayed when a `rebase` is in progress. | +| `merge` | `"MERGING"` | The text displayed when a `merge` is in progress. | +| `revert` | `"REVERTING"` | The text displayed when a `revert` is in progress. | +| `cherry_pick` | `"CHERRY-PICKING"` | The text displayed when a `cherry-pick` is in progress. | +| `bisect` | `"BISECTING"` | The text displayed when a `bisect` is in progress. | +| `am` | `"AM"` | The text displayed when an `apply-mailbox` (`git am`) is in progress. | +| `am_or_rebase` | `"AM/REBASE"` | The text displayed when an ambiguous `apply-mailbox` or `rebase` is in progress. | +| `progress_divider` | `"/"` | The symbol or text which will separate the current and total progress amounts. (e.g., `" of "`, for `"3 of 10"`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `git_state` module. | ### 設定例 @@ -377,29 +410,29 @@ progress_divider = " of " cherry_pick = "🍒 PICKING" ``` -## Git の状態 +## Git Status -`git_status`モジュールは、現在のディレクトリのリポジトリの状態を表すシンボルを表示します。 +The `git_status` module shows symbols representing the state of the repo in your current directory. ### オプション -| 変数 | デフォルト | 説明 | -| ----------------- | ------------ | ------------------------------ | -| `conflicted` | `"="` | このブランチにはマージの競合があります。 | -| `ahead` | `"⇡"` | このブランチは、追跡されるブランチよりも先にあります。 | -| `behind` | `"⇣"` | このブランチは、追跡されているブランチの背後にあります。 | -| `diverged` | `"⇕"` | このブランチは、追跡されているブランチから分岐しています。 | -| `untracked` | `"?"` | 作業ディレクトリに追跡されていないファイルがあります。 | -| `stashed` | `"$"` | ローカルリポジトリ用のスタッシュが存在します。 | -| `modified` | `"!"` | 作業ディレクトリにファイルの変更があります。 | -| `staged` | `"+"` | 新しいファイルがステージング領域に追加されました。 | -| `renamed` | `"»"` | 名前が変更されたファイルがステージング領域に追加されました。 | -| `deleted` | `"✘"` | ファイルの削除がステージング領域に追加されました。 | -| `show_sync_count` | `false` | 追跡されているブランチの先行/後方カウントを表示します。 | -| `prefix` | `[` | このモジュールの先頭に表示される文字列です。 | -| `suffix` | `]` | このモジュールの末尾に表示される文字列です。 | -| `style` | `"bold red"` | モジュールのスタイルです。 | -| `disabled` | `false` | `git_status`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ----------------- | ------------ | ------------------------------------------------------- | +| `conflicted` | `"="` | This branch has merge conflicts. | +| `ahead` | `"⇡"` | This branch is ahead of the branch being tracked. | +| `behind` | `"⇣"` | This branch is behind of the branch being tracked. | +| `diverged` | `"⇕"` | This branch has diverged from the branch being tracked. | +| `untracked` | `"?"` | There are untracked files in the working directory. | +| `stashed` | `"$"` | A stash exists for the local repository. | +| `modified` | `"!"` | There are file modifications in the working directory. | +| `staged` | `"+"` | A new file has been added to the staging area. | +| `renamed` | `"»"` | A renamed file has been added to the staging area. | +| `deleted` | `"✘"` | A file's deletion has been added to the staging area. | +| `show_sync_count` | `false` | Show ahead/behind count of the branch being tracked. | +| `prefix` | `[` | Prefix to display immediately before git status. | +| `suffix` | `]` | Suffix to display immediately after git status. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `git_status` module. | ### 設定例 @@ -421,7 +454,7 @@ deleted = "🗑" ## Golang -`golang`モジュールは、現在インストールされているGolangのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `golang` module shows the currently installed version of Golang. The module will be shown if any of the following conditions are met: - カレントディレクトリに`go.mod`ファイルが含まれている - カレントディレクトリに`go.sum`ファイルが含まれている @@ -433,11 +466,11 @@ deleted = "🗑" ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | ------------- | ----------------------------- | -| `symbol` | `"🐹 "` | Golangのバージョンを表示する前に使用される記号です。 | -| `style` | `"bold cyan"` | モジュールのスタイルです。 | -| `disabled` | `false` | `golang`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"🐹 "` | The symbol used before displaying the version of Golang. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `golang` module. | ### 設定例 @@ -448,19 +481,19 @@ deleted = "🗑" symbol = "🏎💨 " ``` -## ホスト名 +## Hostname -`hostname`モジュールには、システムのホスト名が表示されます。 +The `hostname` module shows the system hostname. ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | --------------------- | -------------------------------- | -| `ssh_only` | `true` | SSHセッションに接続されている場合にのみホスト名を表示します。 | -| `prefix` | `""` | ホスト名の直前に表示するprefixです。 | -| `suffix` | `""` | ホスト名の直後に表示するsuffixです。 | -| `style` | `"bold dimmed green"` | モジュールのスタイルです。 | -| `disabled` | `false` | `hostname`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | --------------------- | ---------------------------------------------------- | +| `ssh_only` | `true` | Only show hostname when connected to an SSH session. | +| `prefix` | `""` | Prefix to display immediately before the hostname. | +| `suffix` | `""` | Suffix to display immediately after the hostname. | +| `style` | `"bold dimmed green"` | The style for the module. | +| `disabled` | `false` | Disables the `hostname` module. | ### 設定例 @@ -474,18 +507,18 @@ suffix = "⟫" disabled = false ``` -## ジョブ +## Jobs -`jobs`モジュールには、実行中のジョブの現在の数が表示されます。 このモジュールは、実行中のバックグラウンドジョブがある場合にのみ表示されます。 1つ以上のジョブがある、または`threshold`に指定した値以上にジョブがある場合は実行中のジョブの数を表示します。 +The `jobs` module shows the current number of jobs running. The module will be shown only if there are background jobs running. 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. ### オプション -| 変数 | デフォルト | 説明 | -| ----------- | ------------- | ---------------------- | -| `symbol` | `"✦ "` | ジョブの数を表示する前に使用される記号です。 | -| `threshold` | `1` | 超過した場合、ジョブの数を表示します。 | -| `style` | `"bold blue"` | モジュールのスタイルです。 | -| `disabled` | `false` | `jobs`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ----------- | ------------- | ----------------------------------------------------- | +| `symbol` | `"✦ "` | The symbol used before displaying the number of jobs. | +| `threshold` | `1` | Show number of jobs if exceeded. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `jobs` module. | ### 設定例 @@ -497,15 +530,41 @@ symbol = "+ " threshold = 4 ``` -## 改行 -`line_break`モジュールは、プロンプトを2行に分割します。 +## Kubernetes + +Displays the current Kubernetes context name and, if set, the namespace from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-cluster --namespace +astronaut`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | ------- | ------------------------------------- | -| `disabled` | `false` | `line_break`モジュールを無効にして、プロンプトを1行にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | ------------- | --------------------------------------------------- | +| `symbol` | `"☸ "` | The symbol used before displaying the Cluster info. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `kubernetes` module | + +### 設定例 + +```toml +# ~/.config/starship.toml + +[kubernetes] +symbol = "⛵ " +style = "dim green" +disabled = true +``` + + +## Line Break + +The `line_break` module separates the prompt into two lines. + +### オプション + +| 変数 | デフォルト | 説明 | +| ---------- | ------- | ------------------------------------------------------------------ | +| `disabled` | `false` | Disables the `line_break` module, making the prompt a single line. | ### 設定例 @@ -518,17 +577,17 @@ disabled = true ## Nix-shell -`nix_shell`モジュールは、nix-shell環境を示しています。 このモジュールは、nixシェル環境内にあるときに表示されます。 +The `nix_shell` module shows the nix-shell environment. The module will be shown when inside a nix-shell environment. ### オプション -| 変数 | デフォルト | 説明 | -| ------------ | ------------ | ------------------------ | -| `use_name` | `false` | nix-shellの名前を表示します。 | -| `impure_msg` | `impure` | impureメッセージをカスタマイズします。 | -| `pure_msg` | `pure` | pureメッセージをカスタマイズします。 | -| `style` | `"bold red"` | モジュールのスタイルです。 | -| `disabled` | `false` | `nix_shell`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ------------ | ------------ | ---------------------------------- | +| `use_name` | `false` | Display the name of the nix-shell. | +| `impure_msg` | `impure` | Customize the "impure" msg. | +| `pure_msg` | `pure` | Customize the "pure" msg. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `nix_shell` module. | ### 設定例 @@ -542,20 +601,56 @@ impure_msg = "impure shell" pure_msg = "pure shell" ``` +## Memory Usage + +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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### オプション + +| 変数 | デフォルト | 説明 | +| ----------------- | ------------------------ | ------------------------------------------------------------- | +| `show_percentage` | `false` | Display memory usage as a percentage of the available memory. | +| `show_swap` | when total swap non-zero | Display swap usage. | +| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. | +| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. | +| `style` | `"bold dimmed white"` | The style for the module. | +| `disabled` | `true` | Disables the `memory_usage` module. | + +### 設定例 + +```toml +# ~/.config/starship.toml + +[memory_usage] +show_percentage = true +show_swap = true +threshold = -1 +icon = " " +style = "bold dimmed green" +``` + ## Java -`java`モジュールは、現在インストールされているJavaのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `java` module shows the currently installed version of Java. The module will be shown if any of the following conditions are met: - カレントディレクトリに`pom.xml`, もしくは`build.gradle`ファイルが含まれている - カレントディレクトリに拡張子が`.java`, `.class`, もしくは`.jar`のファイルが含まれている ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | -------------- | --------------------------- | -| `symbol` | `"☕ "` | Javaのバージョンを表示する前に使用される記号です。 | -| `style` | `"dimmed red"` | モジュールのスタイルです。 | -| `disabled` | `false` | `Java`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | -------------- | ------------------------------------------------------ | +| `symbol` | `"☕ "` | The symbol used before displaying the version of Java. | +| `style` | `"dimmed red"` | モジュールのスタイルです。 | +| `disabled` | `false` | Disables the `java` module. | ### 設定例 @@ -568,7 +663,7 @@ symbol = "🌟 " ## NodeJS -`nodejs`モジュールは、現在インストールされているNodeJSのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `nodejs` module shows the currently installed version of NodeJS. The module will be shown if any of the following conditions are met: - カレントディレクトリに`package.json`ファイルが含まれている - カレントディレクトリに`node_modules`ディレクトリが含まれている @@ -576,11 +671,11 @@ symbol = "🌟 " ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | -------------- | ----------------------------- | -| `symbol` | `"⬢ "` | NodeJSのバージョンを表示する前に使用される記号です。 | -| `style` | `"bold green"` | モジュールのスタイルです。 | -| `disabled` | `false` | `nodejs`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | -------------- | -------------------------------------------------------- | +| `symbol` | `"⬢ "` | The symbol used before displaying the version of NodeJS. | +| `style` | `"bold green"` | The style for the module. | +| `disabled` | `false` | Disables the `nodejs` module. | ### 設定例 @@ -591,9 +686,9 @@ symbol = "🌟 " symbol = "🤖 " ``` -## パッケージのバージョン +## Package Version -`package`モジュールは、現在のディレクトリがパッケージのリポジトリである場合に表示され、現在のバージョンが表示されます。 このモジュールは現在、 `npm` 、 `cargo` 、および`poetry`パッケージをサポートしています。 +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`, `cargo`, and `poetry` packages. - **npm** – `npm`パッケージバージョンは、現在のディレクトリにある`package.json`から抽出されます - **cargo** – `cargo`パッケージバージョンは、現在のディレクトリにある`Cargo.toml`から抽出されます。 @@ -603,11 +698,11 @@ symbol = "🤖 " ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | ------------ | ---------------------------- | -| `symbol` | `"📦 "` | パッケージのバージョンを表示する前に使用される記号です。 | -| `style` | `"bold red"` | モジュールのスタイルです。 | -| `disabled` | `false` | `package`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | ------------ | ---------------------------------------------------------- | +| `symbol` | `"📦 "` | The symbol used before displaying the version the package. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `package` module. | ### 設定例 @@ -620,13 +715,13 @@ symbol = "🎁 " ## Python -`python`モジュールは、現在インストールされているPythonのバージョンを示します。 +The `python` module shows the currently installed version of Python. -`pyenvversionname`が`true`に設定されている場合 、pyenvでのバージョン名が表示されます 。 +If `pyenv_version_name` is set to `true`, it will display the pyenv version name. -それ以外の場合は、 `python --version`バージョン番号が表示され、アクティブになっている場合は現在のPython仮想環境が表示されます。 +Otherwise, it will display the version number from `python --version` and show the current Python virtual environment if one is activated. -次の条件のいずれかが満たされると、モジュールが表示されます。 +The module will be shown if any of the following conditions are met: - カレントディレクトリに`.python-version`ファイルが含まれている - カレントディレクトリに`requirements.txt`ファイルが含まれている @@ -637,13 +732,13 @@ symbol = "🎁 " ### オプション -| 変数 | デフォルト | 説明 | -| -------------------- | --------------- | ---------------------------------------------------- | -| `symbol` | `"🐍 "` | Pythonのバージョンを表示する前に使用される記号です。 | -| `pyenv_version_name` | `false` | pyenvを使用してPythonバージョンを取得します | -| `pyenv_prefix` | `"pyenv "` | pyenvバージョン表示の前のprefix(デフォルトの表示は`pyenv MY_VERSION`)です | -| `style` | `"bold yellow"` | モジュールのスタイルです。 | -| `disabled` | `false` | `python`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| -------------------- | --------------- | --------------------------------------------------------------------------- | +| `symbol` | `"🐍 "` | The symbol used before displaying the version of Python. | +| `pyenv_version_name` | `false` | Use pyenv to get Python version | +| `pyenv_prefix` | `"pyenv "` | Prefix before pyenv version display (default display is `pyenv MY_VERSION`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `python` module. | ### 設定例 @@ -658,18 +753,18 @@ pyenv_prefix = "foo " ## Ruby -`ruby`モジュールは、現在インストールされているRubyのバージョンを示します。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `ruby` module shows the currently installed version of Ruby. The module will be shown if any of the following conditions are met: - カレントディレクトリに`Gemfile`ファイルが含まれている - カレントディレクトリに`.rb`の拡張子のファイルが含まれている ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | ------------ | --------------------------- | -| `symbol` | `"💎 "` | Rubyのバージョンを表示する前に使用される記号です。 | -| `style` | `"bold red"` | モジュールのスタイルです。 | -| `disabled` | `false` | `ruby`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"💎 "` | The symbol used before displaying the version of Ruby. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `ruby` module. | ### 設定例 @@ -682,18 +777,18 @@ symbol = "🔺 " ## Rust -`rust`モジュールには、現在インストールされているRustのバージョンが表示されます。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `rust` module shows the currently installed version of Rust. The module will be shown if any of the following conditions are met: - カレントディレクトリに`Cargo.toml`ファイルが含まれている - カレントディレクトリに`.rs`の拡張子のファイルが含まれている ### オプション -| 変数 | デフォルト | 説明 | -| ---------- | ------------ | --------------------------- | -| `symbol` | `"🦀 "` | Rustのバージョンを表示する前に使用される記号です。 | -| `style` | `"bold red"` | モジュールのスタイルです。 | -| `disabled` | `false` | `rust`モジュールを無効にします。 | +| 変数 | デフォルト | 説明 | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"🦀 "` | The symbol used before displaying the version of Rust. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `rust` module. | ### 設定例 @@ -704,28 +799,28 @@ symbol = "🔺 " symbol = "⚙️ " ``` -## 時刻 +## Time -`time`モジュールは、現在の**現地**時間を示します。 `format`設定は、時間の表示方法を制御するために[`chrono`](https://crates.io/crates/chrono)クレートによって使用されます。 使用可能なオプションを確認するには、[chrono strftimeのドキュメント](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html)をご覧ください。 +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. ::: tip -このモジュールはデフォルトで無効になっています。 有効にするには、設定ファイルで`disabled`を`false`に設定します。 +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. ::: -### オプション +### Options -| 変数 | デフォルト | 説明 | -| ---------- | -------------- | ------------------------------------------------------------------------------------------------- | -| `12hr` | `false` | 12時間のフォーマットを有効にします。 | -| `format` | この表の下を参照してください | 時刻のフォーマットに使用される[クロノフォーマット文字列](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) です。 | -| `style` | `bold yellow` | モジュールのスタイルです。 | -| `disabled` | `true` | `time`モジュールを無効にします。 | +| Variable | Default | Description | +| ---------- | ------------- | ------------------------------------------------------------------------------------------------------------------- | +| `12hr` | `false` | Enables 12 hour formatting | +| `format` | see below | The [chrono format string](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) used to format the time. | +| `style` | `bold yellow` | The style for the module time | +| `disabled` | `true` | Disables the `time` module. | -`12hr`が`true` 、 `format`デフォルトで`"%r"`です。 それ以外の場合、デフォルトは`"%T"`です。 `format`を手動で設定すると、 `12hr`の設定が上書きされます。 +If `12hr` is `true`, then `format` defaults to `"%r"`. Otherwise, it defaults to `"%T"`. Manually setting `format` will override the `12hr` setting. -### 設定例 +### Example ```toml # ~/.config/starship.toml @@ -735,25 +830,25 @@ disabled = false format = "🕙[ %T ]" ``` -## ユーザー名 +## Username -`username`モジュールには、アクティブなユーザーのユーザー名が表示されます。 次の条件のいずれかが満たされると、モジュールが表示されます。 +The `username` module shows active user's username. The module will be shown if any of the following conditions are met: - カレントユーザーがroot - カレントユーザーが、ログインしているユーザーとは異なる - ユーザーがSSHセッションとして接続されている - `show_always`変数がtrueに設定されている -### オプション +### Options -| 変数 | デフォルト | 説明 | -| ------------- | --------------- | ------------------------- | -| `style_root` | `"bold red"` | ユーザーがrootのときに使用されるスタイルです。 | -| `style_user` | `"bold yellow"` | 非rootユーザーに使用されるスタイルです。 | -| `show_always` | `false` | `username`モジュールを常に表示します。 | -| `disabled` | `false` | `username`モジュールを無効にします。 | +| Variable | Default | Description | +| ------------- | --------------- | ------------------------------------- | +| `style_root` | `"bold red"` | The style used when the user is root. | +| `style_user` | `"bold yellow"` | The style used for non-root users. | +| `show_always` | `false` | Always shows the `username` module. | +| `disabled` | `false` | Disables the `username` module. | -### 設定例 +### Example ```toml # ~/.config/starship.toml diff --git a/docs/ja/guide/README.md b/docs/ja/guide/README.md index 2d8fd14a..d880e08e 120000 --- a/docs/ja/guide/README.md +++ b/docs/ja/guide/README.md @@ -1 +1 @@ -../../../README.ja.md \ No newline at end of file +../../../translations/README.ja.md \ No newline at end of file diff --git a/docs/ru/README.md b/docs/ru/README.md new file mode 100644 index 00000000..7cd8a78c --- /dev/null +++ b/docs/ru/README.md @@ -0,0 +1,107 @@ +--- +home: true +heroImage: /logo.svg +actionText: Get Started → +actionLink: /guide/ +footer: ISC Licensed | Copyright © 2019-present Starship Contributors +--- + +
+
+

Compatibility First

+

Works on the most common shells on the most common operating systems. Use it everywhere!

+
+
+

Rust-Powered

+

Brings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible.

+
+
+

Customizable

+

Every little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.

+
+
+ +
+ +
+ +### Quick Install + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` diff --git a/docs/ru/advanced-config/README.md b/docs/ru/advanced-config/README.md new file mode 100644 index 00000000..d5d27031 --- /dev/null +++ b/docs/ru/advanced-config/README.md @@ -0,0 +1,84 @@ +# Advanced Configuration + +While Starship is a versatile shell, sometimes you need to do more than edit `starship.toml` to get it to do certain things. This page details some of the more advanced configuration techniques used in starship. + +::: warning + +The configurations in this section are subject to change in future releases of Starship. + +::: + +## Custom pre-prompt and pre-execution Commands in Bash + +Bash does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `bash`. However, Starship does give you limited ability to insert your own functions into the prompt-rendering procedure: + +- To run a custom function right before the prompt is drawn, define a new function and then assign its name to `starship_precmd_user_func`. For example, to draw a rocket before the prompt, you would do + +```bash +function blastoff(){ + echo "🚀" +} +starship_precmd_user_func="blastoff" +``` + +- To run a custom function right before a command runs, you can use the [`DEBUG` trap mechanism](https://jichu4n.com/posts/debug-trap-and-prompt_command-in-bash/). However, you **must** trap the DEBUG signal *before* initializing Starship! Starship can preserve the value of the DEBUG trap, but if the trap is overwritten after starship starts up, some functionality will break. + +```bash +function blastoff(){ + echo "🚀" +} +trap blastoff DEBUG # Trap DEBUG *before* running starship +eval $(starship init bash) +``` + +## Change Window Title + +Some shell prompts will automatically change the window title for you (e.g. to reflect your working directory). Fish even does it by default. Starship does not do this, but it's fairly straightforward to add this functionality to `bash` or `zsh`. + +First, define a window title change function (identical in bash and zsh): + +```bash +function set_win_title(){ + echo -ne "\033]0; YOUR_WINDOW_TITLE_HERE \007" +} +``` + +You can use variables to customize this title (`$USER`, `$HOSTNAME`, and `$PWD` are popular choices). + +In `bash`, set this function to be the precmd starship function: + +```bash +starship_precmd_user_func="set_win_title" +``` + +In `zsh`, add this to the `precmd_functions` array: + +```bash +precmd_functions+=(set_win_title) +``` + +If you like the result, add these lines to your shell configuration file (`~/.bashrc` or `~/.zsrhc`) to make it permanent. + +## 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: + + - `bold` + - `underline` + - `dimmed` + - `bg:` + - `fg:` + - `` + - `none` + +where `` is a color specifier (discussed below). `fg:` and `` currently do the same thing , though this may change in the future. The order of words in the string does not matter. + +The `none` token overrides all other tokens in a string, so that e.g. `fg:red none fg:blue` will still create a string with no styling. It may become an error to use `none` in conjunction with other tokens in the future. + +A color specifier can be one of the following: + + - One of the standard terminal colors: `black`, `red`, `green`, `blue`, `yellow`, `purple`, `cyan`, `white`. You can optionally prefix these with `bright-` to get the bright version (e.g. `bright-white`). + - A `#` followed by a six-digit hexadecimal number. This specifies an [RGB color hex code](https://www.w3schools.com/colors/colors_hexadecimal.asp). + - A number between 0-255. This specifies an [8-bit ANSI Color Code](https://i.stack.imgur.com/KTSQa.png). + +If multiple colors are specified for foreground/background, the last one in the string will take priority. diff --git a/docs/ru/config/README.md b/docs/ru/config/README.md new file mode 100644 index 00000000..143e1779 --- /dev/null +++ b/docs/ru/config/README.md @@ -0,0 +1,857 @@ +# Configuration + +::: tip + +🔥 Configuration is currently being worked on. Many new configuration options will be available in coming releases. + +::: + +To get started configuring starship, create the following file: `~/.config/starship.toml`. + +```shell +$ touch ~/.config/starship.toml +``` + +All configuration for starship is done in this [TOML](https://github.com/toml-lang/toml) file: + +```toml +# Don't print a new line at the start of the prompt +add_newline = false + +# Replace the "❯" symbol in the prompt with "➜" +[character] # The name of the module we are configuring is "character" +symbol = "➜" # The "symbol" segment is being set to "➜" + +# Disable the package module, hiding it from the prompt completely +[package] +disabled = true +``` + +### Terminology + +**Module**: A component in the prompt giving information based on contextual information from your OS. For example, the "nodejs" module shows the version of NodeJS that is currently installed on your computer, if your current directory is a NodeJS project. + +**Segment**: Smaller sub-components that compose a module. For example, the "symbol" segment in the "nodejs" module contains the character that is shown before the version number (⬢ by default). + +Here is the representation of the node module. In the following example, "symbol" and "version" are segments within it. Every module also has a prefix and suffix that are the default terminal color. + +``` +[prefix] [symbol] [version] [suffix] + "via " "⬢" "v10.4.1" "" +``` + +### Style Strings + +Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/). + +- `"fg:green bg:blue"` sets green text on a blue background +- `"bg:blue fg:bright-green"` sets bright green text on a blue background +- `"bold fg:27"` sets bold text with [ANSI color](https://i.stack.imgur.com/KTSQa.png) 27 +- `"underline bg:#bf5700"` sets underlined text on a burnt orange background +- `"bold italic fg:purple"` sets bold italic purple text +- `""` explicitly disables all styling + +Note that what styling looks like will be controlled by your terminal emulator. For example, some terminal emulators will brighten the colors instead of bolding text, and some color themes use the same values for the normal and bright colors. Also, to get italic text, your terminal must support italics. + +## Prompt + +This is the list of prompt-wide configuration options. + +### Options + +| Variable | Default | Description | +| -------------- | ----------------------------- | ------------------------------------------------------ | +| `add_newline` | `true` | Add a new line before the start of the prompt. | +| `prompt_order` | [link](#default-prompt-order) | Configure the order in which the prompt module occurs. | + +### Example + +```toml +# ~/.config/starship.toml + +# Disable the newline at the start of the prompt +add_newline = false +# Overwrite a default_prompt_order and use custom prompt_order +prompt_order=["rust","line_break","package","line_break","character"] +``` + +### Default Prompt Order + +The default `prompt_order` is used to define the order in which modules are shown in the prompt, if empty or no `prompt_order` is provided. The default is as shown: + +```toml +prompt_order = [ + "username", + "hostname", + "kubernetes", + "directory", + "git_branch", + "git_state", + "git_status", + "package", + "dotnet", + "golang", + "java", + "nodejs", + "python", + "ruby", + "rust", + "nix_shell", + "memory_usage", + "aws", + "env_var", + "cmd_duration", + "line_break", + "jobs", + "battery", + "time", + "character", +] +``` + +## AWS + +The `aws` module shows the current AWS profile. This is based on the `AWS_PROFILE` env var. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `symbol` | `"☁️ "` | The symbol used before displaying the current AWS profile. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `AWS` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[aws] +style = "bold blue" +symbol = "🅰 " +``` + +## Battery + +The `battery` module shows how charged the device's battery is and its current charging status. The module is only visible when the device's battery is below 10%. + +### Options + +| Variable | Default | Description | +| -------------------- | ------------------------ | ------------------------------------------------- | +| `full_symbol` | `"•"` | The symbol shown when the battery is full. | +| `charging_symbol` | `"⇡"` | The symbol shown when the battery is charging. | +| `discharging_symbol` | `"⇣"` | The symbol shown when the battery is discharging. | +| `display` | [link](#battery-display) | Display threshold and style for the module. | +| `disabled` | `false` | Disables the `battery` module. | + +
+There are also options for some uncommon battery states. + +| Variable | Description | +| ---------------- | --------------------------------------------------- | +| `unknown_symbol` | The symbol shown when the battery state is unknown. | +| `empty_symbol` | The symbol shown when the battery state is empty. | + +Note: Battery indicator will be hidden if the status is `unknown` or `empty` unless you specify the option in the config. + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[battery] +full_symbol = "🔋" +charging_symbol = "⚡️" +discharging_symbol = "💀" +``` + +### Battery Display + +The `display` configuration option is used to define when the battery indicator should be shown (threshold) and what it looks like (style). If no `display` is provided. The default is as shown: + +```toml +[[battery.display]] +threshold = 10 +style = "bold red" +``` + +#### Options + +The `display` option is an array of the following table. + +| Variable | Description | +| ----------- | ----------------------------------------------- | +| `threshold` | The upper bound for the display option. | +| `style` | The style used if the display option is in use. | + +#### Example + +```toml +[[battery.display]] # "bold red" style when capacity is between 0% and 10% +threshold = 10 +style = "bold red" + +[[battery.display]] # "bold yellow" style when capacity is between 10% and 30% +threshold = 30 +style = "bold yellow" + +# when capacity is over 30%, the battery indicator will not be displayed + +``` + +## Character + +The `character` module shows a character (usually an arrow) beside where the text is entered in your terminal. + +The character will tell you whether the last command was successful or not. It can do this in two ways: by changing color (red/green) or by changing its shape (❯/✖). The latter will only be done if `use_symbol_for_status` is set to `true`. + +### Options + +| Variable | Default | Description | +| ----------------------- | -------------- | ----------------------------------------------------------------------------------- | +| `symbol` | `"❯"` | The symbol used before the text input in the prompt. | +| `error_symbol` | `"✖"` | The symbol used before text input if the previous command failed. | +| `use_symbol_for_status` | `false` | Indicate error status by changing the symbol. | +| `vicmd_symbol` | `"❮"` | The symbol used before the text input in the prompt if shell is in vim normal mode. | +| `style_success` | `"bold green"` | The style used if the last command was successful. | +| `style_failure` | `"bold red"` | The style used if the last command failed. | +| `disabled` | `false` | Disables the `character` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[character] +symbol = "➜" +error_symbol = "✗" +use_symbol_for_status = true +``` + +## 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. + +::: 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. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `min_time` | `2` | Shortest duration to show time for. | +| `prefix` | `took` | Prefix to display immediately before the command duration. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `cmd_duration` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[cmd_duration] +min_time = 4 +prefix = "underwent " +``` + +## Directory + +The `directory` module shows the path to your current directory, truncated to three parent folders. Your directory will also be truncated to the root of the git repo that you're currently in. + +When using the fish style pwd option, instead of hiding the path that is truncated, you will see a shortened name of each directory based on the number you enable for the option. + +For example, given `~/Dev/Nix/nixpkgs/pkgs` where `nixpkgs` is the repo root, and the option set to `1`. You will now see `~/D/N/nixpkgs/pkgs`, whereas before it would have been `nixpkgs/pkgs`. + +### Options + +| Variable | Default | Description | +| ------------------- | ------------- | -------------------------------------------------------------------------------- | +| `truncation_length` | `3` | The number of parent folders that the current directory should be truncated to. | +| `truncate_to_repo` | `true` | Whether or not to truncate to the root of the git repo that you're currently in. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `directory` module. | + +
+This module has a few advanced configuration options that control how the directory is displayed. + +| Variable | Default | Description | +| --------------------------- | ------- | ---------------------------------------------------------------------------------------- | +| `fish_style_pwd_dir_length` | `0` | The number of characters to use when applying fish shell pwd path logic. | +| `use_logical_path` | `true` | Displays the logical path provided by the shell (`PWD`) instead of the path from the OS. | + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[directory] +truncation_length = 8 +``` + +## Dotnet + +The `dotnet` module shows the relevant version of the .NET Core SDK for the current directory. If the SDK has been pinned in the current directory, the pinned version is shown. Otherwise the module shows the latest installed version of the SDK. + +This module will only be shown in your prompt when one of the following files are present in the current directory: `global.json`, `project.json`, `*.sln`, `*.csproj`, `*.fsproj`, `*.xproj`. You'll also need the .NET Core command-line tools installed in order to use it correctly. + +Internally, this module uses its own mechanism for version detection. Typically it is twice as fast as running `dotnet --version`, but it may show an incorrect version if your .NET project has an unusual directory layout. If accuracy is more important than speed, you can disable the mechanism by setting `heuristic = false` in the module options. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"•NET "` | The symbol used before displaying the version of dotnet. | +| `style` | `"bold blue"` | The style for the module. | +| `heuristic` | `true` | Use faster version detection to keep starship snappy. | +| `disabled` | `false` | Disables the `dotnet` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[dotnet] +symbol = "🥅 " +style = "green" +heuristic = false +``` + +## Environment Variable + +The `env_var` module displays the current value of a selected environment variable. The module will be shown only if any of the following conditions are met: + +- The `variable` configuration option matches an existing environment variable +- The `variable` configuration option is not defined, but the `default` configuration option is + +### Options + +| Variable | Default | Description | +| ---------- | ---------------- | ---------------------------------------------------------------------------- | +| `symbol` | | The symbol used before displaying the variable value. | +| `variable` | | The environment variable to be displayed. | +| `default` | | The default value to be displayed when the selected variable is not defined. | +| `prefix` | `""` | Prefix to display immediately before the variable value. | +| `suffix` | `""` | Suffix to display immediately after the variable value. | +| `style` | `"dimmed black"` | The style for the module. | +| `disabled` | `false` | Disables the `env_var` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[env_var] +variable = "SHELL" +default = "unknown shell" +``` + +## Git Branch + +The `git_branch` module shows the active branch of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ------------------- | --------------- | ------------------------------------------------------------------------------------- | +| `symbol` | `" "` | The symbol used before the branch name of the repo in your current directory. | +| `truncation_length` | `2^63 - 1` | Truncates a git branch to X graphemes | +| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use "" for no symbol | +| `style` | `"bold purple"` | The style for the module. | +| `disabled` | `false` | Disables the `git_branch` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_branch] +symbol = "🌱 " +truncation_length = "4" +truncation_symbol = "" +``` + +## Git State + +The `git_state` module will show in directories which are part of a git repository, and where there is an operation in progress, such as: _REBASING_, _BISECTING_, etc. If there is progress information (e.g., REBASING 3/10), that information will be shown too. + +### Options + +| Variable | Default | Description | +| ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------- | +| `rebase` | `"REBASING"` | The text displayed when a `rebase` is in progress. | +| `merge` | `"MERGING"` | The text displayed when a `merge` is in progress. | +| `revert` | `"REVERTING"` | The text displayed when a `revert` is in progress. | +| `cherry_pick` | `"CHERRY-PICKING"` | The text displayed when a `cherry-pick` is in progress. | +| `bisect` | `"BISECTING"` | The text displayed when a `bisect` is in progress. | +| `am` | `"AM"` | The text displayed when an `apply-mailbox` (`git am`) is in progress. | +| `am_or_rebase` | `"AM/REBASE"` | The text displayed when an ambiguous `apply-mailbox` or `rebase` is in progress. | +| `progress_divider` | `"/"` | The symbol or text which will separate the current and total progress amounts. (e.g., `" of "`, for `"3 of 10"`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `git_state` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_state] +progress_divider = " of " +cherry_pick = "🍒 PICKING" +``` + +## Git Status + +The `git_status` module shows symbols representing the state of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ----------------- | ------------ | ------------------------------------------------------- | +| `conflicted` | `"="` | This branch has merge conflicts. | +| `ahead` | `"⇡"` | This branch is ahead of the branch being tracked. | +| `behind` | `"⇣"` | This branch is behind of the branch being tracked. | +| `diverged` | `"⇕"` | This branch has diverged from the branch being tracked. | +| `untracked` | `"?"` | There are untracked files in the working directory. | +| `stashed` | `"$"` | A stash exists for the local repository. | +| `modified` | `"!"` | There are file modifications in the working directory. | +| `staged` | `"+"` | A new file has been added to the staging area. | +| `renamed` | `"»"` | A renamed file has been added to the staging area. | +| `deleted` | `"✘"` | A file's deletion has been added to the staging area. | +| `show_sync_count` | `false` | Show ahead/behind count of the branch being tracked. | +| `prefix` | `[` | Prefix to display immediately before git status. | +| `suffix` | `]` | Suffix to display immediately after git status. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `git_status` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_status] +conflicted = "🏳" +ahead = "🏎💨" +behind = "😰" +diverged = "😵" +untracked = "🤷‍" +stashed = "📦" +modified = "📝" +staged = "➕" +renamed = "👅" +deleted = "🗑" +``` + +## Golang + +The `golang` module shows the currently installed version of Golang. 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 +- The current directory contains a `glide.yaml` file +- The current directory contains a `Gopkg.yml` file +- The current directory contains a `Gopkg.lock` file +- The current directory contains a `Godeps` directory +- The current directory contains a file with the `.go` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"🐹 "` | The symbol used before displaying the version of Golang. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `golang` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[golang] +symbol = "🏎💨 " +``` + +## Hostname + +The `hostname` module shows the system hostname. + +### Options + +| Variable | Default | Description | +| ---------- | --------------------- | ---------------------------------------------------- | +| `ssh_only` | `true` | Only show hostname when connected to an SSH session. | +| `prefix` | `""` | Prefix to display immediately before the hostname. | +| `suffix` | `""` | Suffix to display immediately after the hostname. | +| `style` | `"bold dimmed green"` | The style for the module. | +| `disabled` | `false` | Disables the `hostname` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[hostname] +ssh_only = false +prefix = "⟪" +suffix = "⟫" +disabled = false +``` + +## Jobs + +The `jobs` module shows the current number of jobs running. The module will be shown only if there are background jobs running. 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. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | ----------------------------------------------------- | +| `symbol` | `"✦ "` | The symbol used before displaying the number of jobs. | +| `threshold` | `1` | Show number of jobs if exceeded. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `jobs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[jobs] +symbol = "+ " +threshold = 4 +``` + + +## Kubernetes + +Displays the current Kubernetes context name and, if set, the namespace from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-cluster --namespace +astronaut`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | --------------------------------------------------- | +| `symbol` | `"☸ "` | The symbol used before displaying the Cluster info. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `kubernetes` module | + +### Example + +```toml +# ~/.config/starship.toml + +[kubernetes] +symbol = "⛵ " +style = "dim green" +disabled = true +``` + + +## Line Break + +The `line_break` module separates the prompt into two lines. + +### Options + +| Variable | Default | Description | +| ---------- | ------- | ------------------------------------------------------------------ | +| `disabled` | `false` | Disables the `line_break` module, making the prompt a single line. | + +### Example + +```toml +# ~/.config/starship.toml + +[line_break] +disabled = true +``` + +## Nix-shell + +The `nix_shell` module shows the nix-shell environment. The module will be shown when inside a nix-shell environment. + +### Options + +| Variable | Default | Description | +| ------------ | ------------ | ---------------------------------- | +| `use_name` | `false` | Display the name of the nix-shell. | +| `impure_msg` | `impure` | Customize the "impure" msg. | +| `pure_msg` | `pure` | Customize the "pure" msg. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `nix_shell` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nix_shell] +disabled = true +use_name = true +impure_msg = "impure shell" +pure_msg = "pure shell" +``` + +## Memory Usage + +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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ----------------- | ------------------------ | ------------------------------------------------------------- | +| `show_percentage` | `false` | Display memory usage as a percentage of the available memory. | +| `show_swap` | when total swap non-zero | Display swap usage. | +| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. | +| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. | +| `style` | `"bold dimmed white"` | The style for the module. | +| `disabled` | `true` | Disables the `memory_usage` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[memory_usage] +show_percentage = true +show_swap = true +threshold = -1 +icon = " " +style = "bold dimmed green" +``` + +## Java + +The `java` module shows the currently installed version of Java. The module will be shown if any of the following conditions are met: + +- The current directory contains a `pom.xml` or `build.gradle` file +- The current directory contains a file with the `.java`, `.class` or `.jar` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | ------------------------------------------------------ | +| `symbol` | `"☕ "` | The symbol used before displaying the version of Java. | +| `style` | `"dimmed red"` | The style for the module. | +| `disabled` | `false` | Disables the `java` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[java] +symbol = "🌟 " +``` + +## NodeJS + +The `nodejs` module shows the currently installed version of NodeJS. The module will be shown if any of the following conditions are met: + +- The current directory contains a `package.json` file +- The current directory contains a `node_modules` directory +- The current directory contains a file with the `.js` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | -------------------------------------------------------- | +| `symbol` | `"⬢ "` | The symbol used before displaying the version of NodeJS. | +| `style` | `"bold green"` | The style for the module. | +| `disabled` | `false` | Disables the `nodejs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nodejs] +symbol = "🤖 " +``` + +## 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`, `cargo`, and `poetry` packages. + +- **npm** – The `npm` package version is extracted from the `package.json` present in the current directory +- **cargo** – The `cargo` package version is extracted from the `Cargo.toml` present in the current directory +- **poetry** – The `poetry` package version is extracted from the `pyproject.toml` present in the current directory + +> ⚠️ The version being shown is that of the package whose source code is in your current directory, not your package manager. + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ---------------------------------------------------------- | +| `symbol` | `"📦 "` | The symbol used before displaying the version the package. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `package` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[package] +symbol = "🎁 " +``` + +## Python + +The `python` module shows the currently installed version of Python. + +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` and show the current Python virtual environment if one is activated. + +The module will be shown if any of the following conditions are met: + +- The current directory contains a `.python-version` file +- The current directory contains a `requirements.txt` file +- The current directory contains a `pyproject.toml` file +- The current directory contains a file with the `.py` extension +- The current directory contains a `Pipfile` file +- The current directory contains a `tox.ini` file + +### Options + +| Variable | Default | Description | +| -------------------- | --------------- | --------------------------------------------------------------------------- | +| `symbol` | `"🐍 "` | The symbol used before displaying the version of Python. | +| `pyenv_version_name` | `false` | Use pyenv to get Python version | +| `pyenv_prefix` | `"pyenv "` | Prefix before pyenv version display (default display is `pyenv MY_VERSION`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `python` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[python] +symbol = "👾 " +pyenv_version_name = true +pyenv_prefix = "foo " +``` + +## Ruby + +The `ruby` module shows the currently installed version of Ruby. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Gemfile` file +- The current directory contains a `.rb` file + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"💎 "` | The symbol used before displaying the version of Ruby. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `ruby` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[ruby] +symbol = "🔺 " +``` + +## Rust + +The `rust` module shows the currently installed version of Rust. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Cargo.toml` file +- The current directory contains a file with the `.rs` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"🦀 "` | The symbol used before displaying the version of Rust. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `rust` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[rust] +symbol = "⚙️ " +``` + +## 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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | ------------------------------------------------------------------------------------------------------------------- | +| `12hr` | `false` | Enables 12 hour formatting | +| `format` | see below | The [chrono format string](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) used to format the time. | +| `style` | `bold yellow` | The style for the module time | +| `disabled` | `true` | Disables the `time` module. | + +If `12hr` is `true`, then `format` defaults to `"%r"`. Otherwise, it defaults to `"%T"`. Manually setting `format` will override the `12hr` setting. + +### Example + +```toml +# ~/.config/starship.toml + +[time] +disabled = false +format = "🕙[ %T ]" +``` + +## Username + +The `username` module shows active user's username. The module will be shown if any of the following conditions are met: + +- The current user is root +- The current user isn't the same as the one that is logged in +- The user is currently connected as an SSH session +- The variable `show_always` is set to true + +### Options + +| Variable | Default | Description | +| ------------- | --------------- | ------------------------------------- | +| `style_root` | `"bold red"` | The style used when the user is root. | +| `style_user` | `"bold yellow"` | The style used for non-root users. | +| `show_always` | `false` | Always shows the `username` module. | +| `disabled` | `false` | Disables the `username` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[username] +disabled = true +``` diff --git a/docs/ru/guide/README.md b/docs/ru/guide/README.md new file mode 120000 index 00000000..1a7f23bf --- /dev/null +++ b/docs/ru/guide/README.md @@ -0,0 +1 @@ +../../../translations/README.ru.md \ No newline at end of file diff --git a/docs/zh/README.md b/docs/zh/README.md new file mode 100644 index 00000000..7cd8a78c --- /dev/null +++ b/docs/zh/README.md @@ -0,0 +1,107 @@ +--- +home: true +heroImage: /logo.svg +actionText: Get Started → +actionLink: /guide/ +footer: ISC Licensed | Copyright © 2019-present Starship Contributors +--- + +
+
+

Compatibility First

+

Works on the most common shells on the most common operating systems. Use it everywhere!

+
+
+

Rust-Powered

+

Brings the best-in-class speed and safety of Rust, to make your prompt as quick and reliable as possible.

+
+
+

Customizable

+

Every little detail is customizable to your liking, to make this prompt as minimal or feature-rich as you'd like it to be.

+
+
+ +
+ +
+ +### Quick Install + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` diff --git a/docs/zh/advanced-config/README.md b/docs/zh/advanced-config/README.md new file mode 100644 index 00000000..d5d27031 --- /dev/null +++ b/docs/zh/advanced-config/README.md @@ -0,0 +1,84 @@ +# Advanced Configuration + +While Starship is a versatile shell, sometimes you need to do more than edit `starship.toml` to get it to do certain things. This page details some of the more advanced configuration techniques used in starship. + +::: warning + +The configurations in this section are subject to change in future releases of Starship. + +::: + +## Custom pre-prompt and pre-execution Commands in Bash + +Bash does not have a formal preexec/precmd framework like most other shells. Because of this, it is difficult to provide fully customizable hooks in `bash`. However, Starship does give you limited ability to insert your own functions into the prompt-rendering procedure: + +- To run a custom function right before the prompt is drawn, define a new function and then assign its name to `starship_precmd_user_func`. For example, to draw a rocket before the prompt, you would do + +```bash +function blastoff(){ + echo "🚀" +} +starship_precmd_user_func="blastoff" +``` + +- To run a custom function right before a command runs, you can use the [`DEBUG` trap mechanism](https://jichu4n.com/posts/debug-trap-and-prompt_command-in-bash/). However, you **must** trap the DEBUG signal *before* initializing Starship! Starship can preserve the value of the DEBUG trap, but if the trap is overwritten after starship starts up, some functionality will break. + +```bash +function blastoff(){ + echo "🚀" +} +trap blastoff DEBUG # Trap DEBUG *before* running starship +eval $(starship init bash) +``` + +## Change Window Title + +Some shell prompts will automatically change the window title for you (e.g. to reflect your working directory). Fish even does it by default. Starship does not do this, but it's fairly straightforward to add this functionality to `bash` or `zsh`. + +First, define a window title change function (identical in bash and zsh): + +```bash +function set_win_title(){ + echo -ne "\033]0; YOUR_WINDOW_TITLE_HERE \007" +} +``` + +You can use variables to customize this title (`$USER`, `$HOSTNAME`, and `$PWD` are popular choices). + +In `bash`, set this function to be the precmd starship function: + +```bash +starship_precmd_user_func="set_win_title" +``` + +In `zsh`, add this to the `precmd_functions` array: + +```bash +precmd_functions+=(set_win_title) +``` + +If you like the result, add these lines to your shell configuration file (`~/.bashrc` or `~/.zsrhc`) to make it permanent. + +## 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: + + - `bold` + - `underline` + - `dimmed` + - `bg:` + - `fg:` + - `` + - `none` + +where `` is a color specifier (discussed below). `fg:` and `` currently do the same thing , though this may change in the future. The order of words in the string does not matter. + +The `none` token overrides all other tokens in a string, so that e.g. `fg:red none fg:blue` will still create a string with no styling. It may become an error to use `none` in conjunction with other tokens in the future. + +A color specifier can be one of the following: + + - One of the standard terminal colors: `black`, `red`, `green`, `blue`, `yellow`, `purple`, `cyan`, `white`. You can optionally prefix these with `bright-` to get the bright version (e.g. `bright-white`). + - A `#` followed by a six-digit hexadecimal number. This specifies an [RGB color hex code](https://www.w3schools.com/colors/colors_hexadecimal.asp). + - A number between 0-255. This specifies an [8-bit ANSI Color Code](https://i.stack.imgur.com/KTSQa.png). + +If multiple colors are specified for foreground/background, the last one in the string will take priority. diff --git a/docs/zh/config/README.md b/docs/zh/config/README.md new file mode 100644 index 00000000..143e1779 --- /dev/null +++ b/docs/zh/config/README.md @@ -0,0 +1,857 @@ +# Configuration + +::: tip + +🔥 Configuration is currently being worked on. Many new configuration options will be available in coming releases. + +::: + +To get started configuring starship, create the following file: `~/.config/starship.toml`. + +```shell +$ touch ~/.config/starship.toml +``` + +All configuration for starship is done in this [TOML](https://github.com/toml-lang/toml) file: + +```toml +# Don't print a new line at the start of the prompt +add_newline = false + +# Replace the "❯" symbol in the prompt with "➜" +[character] # The name of the module we are configuring is "character" +symbol = "➜" # The "symbol" segment is being set to "➜" + +# Disable the package module, hiding it from the prompt completely +[package] +disabled = true +``` + +### Terminology + +**Module**: A component in the prompt giving information based on contextual information from your OS. For example, the "nodejs" module shows the version of NodeJS that is currently installed on your computer, if your current directory is a NodeJS project. + +**Segment**: Smaller sub-components that compose a module. For example, the "symbol" segment in the "nodejs" module contains the character that is shown before the version number (⬢ by default). + +Here is the representation of the node module. In the following example, "symbol" and "version" are segments within it. Every module also has a prefix and suffix that are the default terminal color. + +``` +[prefix] [symbol] [version] [suffix] + "via " "⬢" "v10.4.1" "" +``` + +### Style Strings + +Most modules in starship allow you to configure their display styles. This is done with an entry (usually called `style`) which is a string specifying the configuration. Here are some examples of style strings along with what they do. For details on the full syntax, consult the [advanced config guide](/advanced-config/). + +- `"fg:green bg:blue"` sets green text on a blue background +- `"bg:blue fg:bright-green"` sets bright green text on a blue background +- `"bold fg:27"` sets bold text with [ANSI color](https://i.stack.imgur.com/KTSQa.png) 27 +- `"underline bg:#bf5700"` sets underlined text on a burnt orange background +- `"bold italic fg:purple"` sets bold italic purple text +- `""` explicitly disables all styling + +Note that what styling looks like will be controlled by your terminal emulator. For example, some terminal emulators will brighten the colors instead of bolding text, and some color themes use the same values for the normal and bright colors. Also, to get italic text, your terminal must support italics. + +## Prompt + +This is the list of prompt-wide configuration options. + +### Options + +| Variable | Default | Description | +| -------------- | ----------------------------- | ------------------------------------------------------ | +| `add_newline` | `true` | Add a new line before the start of the prompt. | +| `prompt_order` | [link](#default-prompt-order) | Configure the order in which the prompt module occurs. | + +### Example + +```toml +# ~/.config/starship.toml + +# Disable the newline at the start of the prompt +add_newline = false +# Overwrite a default_prompt_order and use custom prompt_order +prompt_order=["rust","line_break","package","line_break","character"] +``` + +### Default Prompt Order + +The default `prompt_order` is used to define the order in which modules are shown in the prompt, if empty or no `prompt_order` is provided. The default is as shown: + +```toml +prompt_order = [ + "username", + "hostname", + "kubernetes", + "directory", + "git_branch", + "git_state", + "git_status", + "package", + "dotnet", + "golang", + "java", + "nodejs", + "python", + "ruby", + "rust", + "nix_shell", + "memory_usage", + "aws", + "env_var", + "cmd_duration", + "line_break", + "jobs", + "battery", + "time", + "character", +] +``` + +## AWS + +The `aws` module shows the current AWS profile. This is based on the `AWS_PROFILE` env var. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `symbol` | `"☁️ "` | The symbol used before displaying the current AWS profile. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `AWS` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[aws] +style = "bold blue" +symbol = "🅰 " +``` + +## Battery + +The `battery` module shows how charged the device's battery is and its current charging status. The module is only visible when the device's battery is below 10%. + +### Options + +| Variable | Default | Description | +| -------------------- | ------------------------ | ------------------------------------------------- | +| `full_symbol` | `"•"` | The symbol shown when the battery is full. | +| `charging_symbol` | `"⇡"` | The symbol shown when the battery is charging. | +| `discharging_symbol` | `"⇣"` | The symbol shown when the battery is discharging. | +| `display` | [link](#battery-display) | Display threshold and style for the module. | +| `disabled` | `false` | Disables the `battery` module. | + +
+There are also options for some uncommon battery states. + +| Variable | Description | +| ---------------- | --------------------------------------------------- | +| `unknown_symbol` | The symbol shown when the battery state is unknown. | +| `empty_symbol` | The symbol shown when the battery state is empty. | + +Note: Battery indicator will be hidden if the status is `unknown` or `empty` unless you specify the option in the config. + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[battery] +full_symbol = "🔋" +charging_symbol = "⚡️" +discharging_symbol = "💀" +``` + +### Battery Display + +The `display` configuration option is used to define when the battery indicator should be shown (threshold) and what it looks like (style). If no `display` is provided. The default is as shown: + +```toml +[[battery.display]] +threshold = 10 +style = "bold red" +``` + +#### Options + +The `display` option is an array of the following table. + +| Variable | Description | +| ----------- | ----------------------------------------------- | +| `threshold` | The upper bound for the display option. | +| `style` | The style used if the display option is in use. | + +#### Example + +```toml +[[battery.display]] # "bold red" style when capacity is between 0% and 10% +threshold = 10 +style = "bold red" + +[[battery.display]] # "bold yellow" style when capacity is between 10% and 30% +threshold = 30 +style = "bold yellow" + +# when capacity is over 30%, the battery indicator will not be displayed + +``` + +## Character + +The `character` module shows a character (usually an arrow) beside where the text is entered in your terminal. + +The character will tell you whether the last command was successful or not. It can do this in two ways: by changing color (red/green) or by changing its shape (❯/✖). The latter will only be done if `use_symbol_for_status` is set to `true`. + +### Options + +| Variable | Default | Description | +| ----------------------- | -------------- | ----------------------------------------------------------------------------------- | +| `symbol` | `"❯"` | The symbol used before the text input in the prompt. | +| `error_symbol` | `"✖"` | The symbol used before text input if the previous command failed. | +| `use_symbol_for_status` | `false` | Indicate error status by changing the symbol. | +| `vicmd_symbol` | `"❮"` | The symbol used before the text input in the prompt if shell is in vim normal mode. | +| `style_success` | `"bold green"` | The style used if the last command was successful. | +| `style_failure` | `"bold red"` | The style used if the last command failed. | +| `disabled` | `false` | Disables the `character` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[character] +symbol = "➜" +error_symbol = "✗" +use_symbol_for_status = true +``` + +## 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. + +::: 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. + +### Options + +| Variable | Default | Description | +| ---------- | --------------- | ---------------------------------------------------------- | +| `min_time` | `2` | Shortest duration to show time for. | +| `prefix` | `took` | Prefix to display immediately before the command duration. | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `cmd_duration` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[cmd_duration] +min_time = 4 +prefix = "underwent " +``` + +## Directory + +The `directory` module shows the path to your current directory, truncated to three parent folders. Your directory will also be truncated to the root of the git repo that you're currently in. + +When using the fish style pwd option, instead of hiding the path that is truncated, you will see a shortened name of each directory based on the number you enable for the option. + +For example, given `~/Dev/Nix/nixpkgs/pkgs` where `nixpkgs` is the repo root, and the option set to `1`. You will now see `~/D/N/nixpkgs/pkgs`, whereas before it would have been `nixpkgs/pkgs`. + +### Options + +| Variable | Default | Description | +| ------------------- | ------------- | -------------------------------------------------------------------------------- | +| `truncation_length` | `3` | The number of parent folders that the current directory should be truncated to. | +| `truncate_to_repo` | `true` | Whether or not to truncate to the root of the git repo that you're currently in. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `directory` module. | + +
+This module has a few advanced configuration options that control how the directory is displayed. + +| Variable | Default | Description | +| --------------------------- | ------- | ---------------------------------------------------------------------------------------- | +| `fish_style_pwd_dir_length` | `0` | The number of characters to use when applying fish shell pwd path logic. | +| `use_logical_path` | `true` | Displays the logical path provided by the shell (`PWD`) instead of the path from the OS. | + +
+ +### Example + +```toml +# ~/.config/starship.toml + +[directory] +truncation_length = 8 +``` + +## Dotnet + +The `dotnet` module shows the relevant version of the .NET Core SDK for the current directory. If the SDK has been pinned in the current directory, the pinned version is shown. Otherwise the module shows the latest installed version of the SDK. + +This module will only be shown in your prompt when one of the following files are present in the current directory: `global.json`, `project.json`, `*.sln`, `*.csproj`, `*.fsproj`, `*.xproj`. You'll also need the .NET Core command-line tools installed in order to use it correctly. + +Internally, this module uses its own mechanism for version detection. Typically it is twice as fast as running `dotnet --version`, but it may show an incorrect version if your .NET project has an unusual directory layout. If accuracy is more important than speed, you can disable the mechanism by setting `heuristic = false` in the module options. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"•NET "` | The symbol used before displaying the version of dotnet. | +| `style` | `"bold blue"` | The style for the module. | +| `heuristic` | `true` | Use faster version detection to keep starship snappy. | +| `disabled` | `false` | Disables the `dotnet` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[dotnet] +symbol = "🥅 " +style = "green" +heuristic = false +``` + +## Environment Variable + +The `env_var` module displays the current value of a selected environment variable. The module will be shown only if any of the following conditions are met: + +- The `variable` configuration option matches an existing environment variable +- The `variable` configuration option is not defined, but the `default` configuration option is + +### Options + +| Variable | Default | Description | +| ---------- | ---------------- | ---------------------------------------------------------------------------- | +| `symbol` | | The symbol used before displaying the variable value. | +| `variable` | | The environment variable to be displayed. | +| `default` | | The default value to be displayed when the selected variable is not defined. | +| `prefix` | `""` | Prefix to display immediately before the variable value. | +| `suffix` | `""` | Suffix to display immediately after the variable value. | +| `style` | `"dimmed black"` | The style for the module. | +| `disabled` | `false` | Disables the `env_var` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[env_var] +variable = "SHELL" +default = "unknown shell" +``` + +## Git Branch + +The `git_branch` module shows the active branch of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ------------------- | --------------- | ------------------------------------------------------------------------------------- | +| `symbol` | `" "` | The symbol used before the branch name of the repo in your current directory. | +| `truncation_length` | `2^63 - 1` | Truncates a git branch to X graphemes | +| `truncation_symbol` | `"…"` | The symbol used to indicate a branch name was truncated. You can use "" for no symbol | +| `style` | `"bold purple"` | The style for the module. | +| `disabled` | `false` | Disables the `git_branch` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_branch] +symbol = "🌱 " +truncation_length = "4" +truncation_symbol = "" +``` + +## Git State + +The `git_state` module will show in directories which are part of a git repository, and where there is an operation in progress, such as: _REBASING_, _BISECTING_, etc. If there is progress information (e.g., REBASING 3/10), that information will be shown too. + +### Options + +| Variable | Default | Description | +| ------------------ | ------------------ | ---------------------------------------------------------------------------------------------------------------- | +| `rebase` | `"REBASING"` | The text displayed when a `rebase` is in progress. | +| `merge` | `"MERGING"` | The text displayed when a `merge` is in progress. | +| `revert` | `"REVERTING"` | The text displayed when a `revert` is in progress. | +| `cherry_pick` | `"CHERRY-PICKING"` | The text displayed when a `cherry-pick` is in progress. | +| `bisect` | `"BISECTING"` | The text displayed when a `bisect` is in progress. | +| `am` | `"AM"` | The text displayed when an `apply-mailbox` (`git am`) is in progress. | +| `am_or_rebase` | `"AM/REBASE"` | The text displayed when an ambiguous `apply-mailbox` or `rebase` is in progress. | +| `progress_divider` | `"/"` | The symbol or text which will separate the current and total progress amounts. (e.g., `" of "`, for `"3 of 10"`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `git_state` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_state] +progress_divider = " of " +cherry_pick = "🍒 PICKING" +``` + +## Git Status + +The `git_status` module shows symbols representing the state of the repo in your current directory. + +### Options + +| Variable | Default | Description | +| ----------------- | ------------ | ------------------------------------------------------- | +| `conflicted` | `"="` | This branch has merge conflicts. | +| `ahead` | `"⇡"` | This branch is ahead of the branch being tracked. | +| `behind` | `"⇣"` | This branch is behind of the branch being tracked. | +| `diverged` | `"⇕"` | This branch has diverged from the branch being tracked. | +| `untracked` | `"?"` | There are untracked files in the working directory. | +| `stashed` | `"$"` | A stash exists for the local repository. | +| `modified` | `"!"` | There are file modifications in the working directory. | +| `staged` | `"+"` | A new file has been added to the staging area. | +| `renamed` | `"»"` | A renamed file has been added to the staging area. | +| `deleted` | `"✘"` | A file's deletion has been added to the staging area. | +| `show_sync_count` | `false` | Show ahead/behind count of the branch being tracked. | +| `prefix` | `[` | Prefix to display immediately before git status. | +| `suffix` | `]` | Suffix to display immediately after git status. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `git_status` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[git_status] +conflicted = "🏳" +ahead = "🏎💨" +behind = "😰" +diverged = "😵" +untracked = "🤷‍" +stashed = "📦" +modified = "📝" +staged = "➕" +renamed = "👅" +deleted = "🗑" +``` + +## Golang + +The `golang` module shows the currently installed version of Golang. 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 +- The current directory contains a `glide.yaml` file +- The current directory contains a `Gopkg.yml` file +- The current directory contains a `Gopkg.lock` file +- The current directory contains a `Godeps` directory +- The current directory contains a file with the `.go` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | -------------------------------------------------------- | +| `symbol` | `"🐹 "` | The symbol used before displaying the version of Golang. | +| `style` | `"bold cyan"` | The style for the module. | +| `disabled` | `false` | Disables the `golang` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[golang] +symbol = "🏎💨 " +``` + +## Hostname + +The `hostname` module shows the system hostname. + +### Options + +| Variable | Default | Description | +| ---------- | --------------------- | ---------------------------------------------------- | +| `ssh_only` | `true` | Only show hostname when connected to an SSH session. | +| `prefix` | `""` | Prefix to display immediately before the hostname. | +| `suffix` | `""` | Suffix to display immediately after the hostname. | +| `style` | `"bold dimmed green"` | The style for the module. | +| `disabled` | `false` | Disables the `hostname` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[hostname] +ssh_only = false +prefix = "⟪" +suffix = "⟫" +disabled = false +``` + +## Jobs + +The `jobs` module shows the current number of jobs running. The module will be shown only if there are background jobs running. 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. + +### Options + +| Variable | Default | Description | +| ----------- | ------------- | ----------------------------------------------------- | +| `symbol` | `"✦ "` | The symbol used before displaying the number of jobs. | +| `threshold` | `1` | Show number of jobs if exceeded. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `jobs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[jobs] +symbol = "+ " +threshold = 4 +``` + + +## Kubernetes + +Displays the current Kubernetes context name and, if set, the namespace from the kubeconfig file. The namespace needs to be set in the kubeconfig file, this can be done via `kubectl config set-context starship-cluster --namespace +astronaut`. If the `$KUBECONFIG` env var is set the module will use that if not it will use the `~/.kube/config`. + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | --------------------------------------------------- | +| `symbol` | `"☸ "` | The symbol used before displaying the Cluster info. | +| `style` | `"bold blue"` | The style for the module. | +| `disabled` | `false` | Disables the `kubernetes` module | + +### Example + +```toml +# ~/.config/starship.toml + +[kubernetes] +symbol = "⛵ " +style = "dim green" +disabled = true +``` + + +## Line Break + +The `line_break` module separates the prompt into two lines. + +### Options + +| Variable | Default | Description | +| ---------- | ------- | ------------------------------------------------------------------ | +| `disabled` | `false` | Disables the `line_break` module, making the prompt a single line. | + +### Example + +```toml +# ~/.config/starship.toml + +[line_break] +disabled = true +``` + +## Nix-shell + +The `nix_shell` module shows the nix-shell environment. The module will be shown when inside a nix-shell environment. + +### Options + +| Variable | Default | Description | +| ------------ | ------------ | ---------------------------------- | +| `use_name` | `false` | Display the name of the nix-shell. | +| `impure_msg` | `impure` | Customize the "impure" msg. | +| `pure_msg` | `pure` | Customize the "pure" msg. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `nix_shell` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nix_shell] +disabled = true +use_name = true +impure_msg = "impure shell" +pure_msg = "pure shell" +``` + +## Memory Usage + +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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ----------------- | ------------------------ | ------------------------------------------------------------- | +| `show_percentage` | `false` | Display memory usage as a percentage of the available memory. | +| `show_swap` | when total swap non-zero | Display swap usage. | +| `threshold` | `75` | Hide the memory usage unless it exceeds this percentage. | +| `symbol` | `"🐏 "` | The symbol used before displaying the memory usage. | +| `style` | `"bold dimmed white"` | The style for the module. | +| `disabled` | `true` | Disables the `memory_usage` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[memory_usage] +show_percentage = true +show_swap = true +threshold = -1 +icon = " " +style = "bold dimmed green" +``` + +## Java + +The `java` module shows the currently installed version of Java. The module will be shown if any of the following conditions are met: + +- The current directory contains a `pom.xml` or `build.gradle` file +- The current directory contains a file with the `.java`, `.class` or `.jar` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | ------------------------------------------------------ | +| `symbol` | `"☕ "` | The symbol used before displaying the version of Java. | +| `style` | `"dimmed red"` | The style for the module. | +| `disabled` | `false` | Disables the `java` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[java] +symbol = "🌟 " +``` + +## NodeJS + +The `nodejs` module shows the currently installed version of NodeJS. The module will be shown if any of the following conditions are met: + +- The current directory contains a `package.json` file +- The current directory contains a `node_modules` directory +- The current directory contains a file with the `.js` extension + +### Options + +| Variable | Default | Description | +| ---------- | -------------- | -------------------------------------------------------- | +| `symbol` | `"⬢ "` | The symbol used before displaying the version of NodeJS. | +| `style` | `"bold green"` | The style for the module. | +| `disabled` | `false` | Disables the `nodejs` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[nodejs] +symbol = "🤖 " +``` + +## 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`, `cargo`, and `poetry` packages. + +- **npm** – The `npm` package version is extracted from the `package.json` present in the current directory +- **cargo** – The `cargo` package version is extracted from the `Cargo.toml` present in the current directory +- **poetry** – The `poetry` package version is extracted from the `pyproject.toml` present in the current directory + +> ⚠️ The version being shown is that of the package whose source code is in your current directory, not your package manager. + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ---------------------------------------------------------- | +| `symbol` | `"📦 "` | The symbol used before displaying the version the package. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `package` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[package] +symbol = "🎁 " +``` + +## Python + +The `python` module shows the currently installed version of Python. + +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` and show the current Python virtual environment if one is activated. + +The module will be shown if any of the following conditions are met: + +- The current directory contains a `.python-version` file +- The current directory contains a `requirements.txt` file +- The current directory contains a `pyproject.toml` file +- The current directory contains a file with the `.py` extension +- The current directory contains a `Pipfile` file +- The current directory contains a `tox.ini` file + +### Options + +| Variable | Default | Description | +| -------------------- | --------------- | --------------------------------------------------------------------------- | +| `symbol` | `"🐍 "` | The symbol used before displaying the version of Python. | +| `pyenv_version_name` | `false` | Use pyenv to get Python version | +| `pyenv_prefix` | `"pyenv "` | Prefix before pyenv version display (default display is `pyenv MY_VERSION`) | +| `style` | `"bold yellow"` | The style for the module. | +| `disabled` | `false` | Disables the `python` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[python] +symbol = "👾 " +pyenv_version_name = true +pyenv_prefix = "foo " +``` + +## Ruby + +The `ruby` module shows the currently installed version of Ruby. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Gemfile` file +- The current directory contains a `.rb` file + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"💎 "` | The symbol used before displaying the version of Ruby. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `ruby` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[ruby] +symbol = "🔺 " +``` + +## Rust + +The `rust` module shows the currently installed version of Rust. The module will be shown if any of the following conditions are met: + +- The current directory contains a `Cargo.toml` file +- The current directory contains a file with the `.rs` extension + +### Options + +| Variable | Default | Description | +| ---------- | ------------ | ------------------------------------------------------ | +| `symbol` | `"🦀 "` | The symbol used before displaying the version of Rust. | +| `style` | `"bold red"` | The style for the module. | +| `disabled` | `false` | Disables the `rust` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[rust] +symbol = "⚙️ " +``` + +## 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. + +::: tip + +This module is disabled by default. To enable it, set `disabled` to `false` in your configuration file. + +::: + +### Options + +| Variable | Default | Description | +| ---------- | ------------- | ------------------------------------------------------------------------------------------------------------------- | +| `12hr` | `false` | Enables 12 hour formatting | +| `format` | see below | The [chrono format string](https://docs.rs/chrono/0.4.7/chrono/format/strftime/index.html) used to format the time. | +| `style` | `bold yellow` | The style for the module time | +| `disabled` | `true` | Disables the `time` module. | + +If `12hr` is `true`, then `format` defaults to `"%r"`. Otherwise, it defaults to `"%T"`. Manually setting `format` will override the `12hr` setting. + +### Example + +```toml +# ~/.config/starship.toml + +[time] +disabled = false +format = "🕙[ %T ]" +``` + +## Username + +The `username` module shows active user's username. The module will be shown if any of the following conditions are met: + +- The current user is root +- The current user isn't the same as the one that is logged in +- The user is currently connected as an SSH session +- The variable `show_always` is set to true + +### Options + +| Variable | Default | Description | +| ------------- | --------------- | ------------------------------------- | +| `style_root` | `"bold red"` | The style used when the user is root. | +| `style_user` | `"bold yellow"` | The style used for non-root users. | +| `show_always` | `false` | Always shows the `username` module. | +| `disabled` | `false` | Disables the `username` module. | + +### Example + +```toml +# ~/.config/starship.toml + +[username] +disabled = true +``` diff --git a/docs/zh/guide/README.md b/docs/zh/guide/README.md new file mode 120000 index 00000000..9bf9cce1 --- /dev/null +++ b/docs/zh/guide/README.md @@ -0,0 +1 @@ +../../../translations/README.zh.md \ No newline at end of file diff --git a/media/flag-cn.png b/media/flag-cn.png new file mode 100755 index 00000000..46df8485 Binary files /dev/null and b/media/flag-cn.png differ diff --git a/media/flag-de.png b/media/flag-de.png new file mode 100755 index 00000000..075a66af Binary files /dev/null and b/media/flag-de.png differ diff --git a/media/flag-fr.png b/media/flag-fr.png new file mode 100755 index 00000000..e5243215 Binary files /dev/null and b/media/flag-fr.png differ diff --git a/media/flag-jp.png b/media/flag-jp.png new file mode 100755 index 00000000..15232bcd Binary files /dev/null and b/media/flag-jp.png differ diff --git a/media/flag-ru.png b/media/flag-ru.png new file mode 100755 index 00000000..62d5b488 Binary files /dev/null and b/media/flag-ru.png differ diff --git a/media/flag-us.png b/media/flag-us.png new file mode 100755 index 00000000..60ae8be1 Binary files /dev/null and b/media/flag-us.png differ diff --git a/translations/README.de.md b/translations/README.de.md new file mode 100644 index 00000000..31add1bb --- /dev/null +++ b/translations/README.de.md @@ -0,0 +1,261 @@ +

+
+ Starship – Cross-shell prompt +

+

+ + Crates.io version + + + Azure Pipelines Build Status + + + Packaging status +
+ + All Contributors + + + Chat on Discord + +

+

+
+ Website + · + Installation + · + Configuration +

+ +

+ +

Starship is the minimal, blazing fast, and extremely customizable prompt for any shell!
The prompt shows information you need while you're working, while staying sleek and out of the way.

+ +

+
+ Starship with iTerm2 and the Snazzy theme +
+
+

+ +## 🍬 Features + +- Prompt character turns red if the last command exits with non-zero code +- Current username if not the same as the logged-in user +- Current Java version(`☕`) +- Current Node.js version(`⬢`) +- Current Rust version (`🦀`) +- Current Ruby version (`💎`) +- Current Python version (`🐍`) +- Current Go version (`🐹`) +- Nix-shell environment detection +- Print an environment variable +- Current version of package in current directory (`📦`) + - npm (Node.js) + - cargo (Rust) + - poetry (Python) +- Current battery level and status +- Current Git branch and rich repo status: + - `=` — conflicting changes + - `⇡` — ahead of remote branch + - `⇣` — behind of remote branch + - `⇕` — diverged changes + - `?` — untracked changes + - `$` — stashed changes + - `!` — modified files + - `+` — added files + - `»` — renamed files + - `✘` — deleted files +- Execution time of the last command if it exceeds the set threshold +- Indicator for jobs in the background (`✦`) +- Current Kubernetes Cluster and Namespace (`☸`) + +## 🚀 Installation + +### Prerequisites + +- A [Powerline font](https://github.com/powerline/fonts) installed and enabled in your terminal (for example, try [Fira Code](https://github.com/tonsky/FiraCode)). + +### Getting Started + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` + +## 🔧 Configuration + +For details on how to configure Starship, check out our [documentation](https://starship.rs/config/). + +## 🤝 Contributing + +We are always looking for contributors of **all skill levels**! 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). + +### High Priority Needs + +- 👩‍💼 **Product Manager** + - We have a GitHub Project and many unorganized/unprioritized features, as well as ideas that haven't yet been made into issues. Starship needs someone to own the product direction! +- 👩‍🎨 **Designer** + - Like making eye-catching websites? Excellent! We are looking to create a beautiful landing page showing off Starship in all its glory. Helping design for Starship's brand is a great opportunity to try out new ideas! +- 👩‍💻 **Rust Developer** + - There is _a lot_ of low-hanging fruit when it comes to writing idiomatic Rust, designing effective Rust architecture, performance optimizations, cross-platform build optimizations, and more! I ([@matchai](https://github.com/matchai)) am a beginner to Rust. Come point us in the right direction! + +If you are interested in helping contribute to starship, please take a look at our [Contributing Guide](https://github.com/starship/starship/blob/master/CONTRIBUTING.md). Also, feel free to drop into our [Discord server](https://discord.gg/8Jzqu3T) and say hi. 👋 + +### Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Matan Kushner
Matan Kushner

💻 🎨 🤔 🚇 🚧 👀 ⚠️
John Letey
John Letey

💻 🤔 👀 ⚠️
Tim Mulqueen
Tim Mulqueen

💻 🤔 👀 ⚠️
Tiffany Le-Nguyen
Tiffany Le-Nguyen

🤔 🚧 👀 📖
​Snuggle
​Snuggle

🎨 🤔 🚧 👀
Ryan Leckey
Ryan Leckey

👀
Youssef Habri
Youssef Habri

💻
Kevin Song
Kevin Song

🐛 💻 📖 ⚠️
Andrew Dassonville
Andrew Dassonville

🐛 💻
MaT1g3R
MaT1g3R

💻 📖 ⚠️
André Zanellato
André Zanellato

💻 📖 ⚠️
Saghm Rossi
Saghm Rossi

💻 📖 ⚠️
Shu Kutsuzawa
Shu Kutsuzawa

💻 📖 ⚠️ 🌍
Saurav Sharma
Saurav Sharma

💻 📖
Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️ 📖
Bruno Bigras
Bruno Bigras

💻 👀
Neil Kistner
Neil Kistner

💻 ⚠️ 👀
Quinn Strahl
Quinn Strahl

💻 ⚠️
Titouan Vervack
Titouan Vervack

💻 ⚠️
Francisco Lopes
Francisco Lopes

💻
Andrew Houts
Andrew Houts

💻 📖 ⚠️
Nick Young
Nick Young

💻 📖 ⚠️ 👀
Gabriel de Perthuis
Gabriel de Perthuis

💻
Hofer-Julian
Hofer-Julian

📖
Yuji Ueki
Yuji Ueki

🖋 🌍
谢祯晖
谢祯晖

💻 📖 🌍 👀
Kutsuzawa Ryo
Kutsuzawa Ryo

👀 💻 ⚠️ 🌍
hdevalke
hdevalke

🤔
Kuba Clark
Kuba Clark

💻 📖 ⚠️
Gimbar
Gimbar

💻 ⚠️ 📖
Tom Hotston
Tom Hotston

💻 📖
Bijan Chokoufe Nejad
Bijan Chokoufe Nejad

💻 ⚠️ 👀
yuri
yuri

💻 📖 ⚠️
TsubasaKawajiri
TsubasaKawajiri

🌍
Ryo Yamashita
Ryo Yamashita

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +## 💭 Inspired By + +Please check out these previous works that helped inspire the creation of starship. 🙏 + +- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** - A ZSH prompt for astronauts. + +- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** - Cross-shell robbyrussell theme written in JavaScript. + +- **[reujab/silver](https://github.com/reujab/silver)** - A cross-shell customizable powerline-like prompt with icons. + +

+
+ Starship rocket icon +

+ +## 📝 License + +Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).
This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE) licensed. diff --git a/translations/README.fr.md b/translations/README.fr.md new file mode 100644 index 00000000..31add1bb --- /dev/null +++ b/translations/README.fr.md @@ -0,0 +1,261 @@ +

+
+ Starship – Cross-shell prompt +

+

+ + Crates.io version + + + Azure Pipelines Build Status + + + Packaging status +
+ + All Contributors + + + Chat on Discord + +

+

+
+ Website + · + Installation + · + Configuration +

+ +

+ +

Starship is the minimal, blazing fast, and extremely customizable prompt for any shell!
The prompt shows information you need while you're working, while staying sleek and out of the way.

+ +

+
+ Starship with iTerm2 and the Snazzy theme +
+
+

+ +## 🍬 Features + +- Prompt character turns red if the last command exits with non-zero code +- Current username if not the same as the logged-in user +- Current Java version(`☕`) +- Current Node.js version(`⬢`) +- Current Rust version (`🦀`) +- Current Ruby version (`💎`) +- Current Python version (`🐍`) +- Current Go version (`🐹`) +- Nix-shell environment detection +- Print an environment variable +- Current version of package in current directory (`📦`) + - npm (Node.js) + - cargo (Rust) + - poetry (Python) +- Current battery level and status +- Current Git branch and rich repo status: + - `=` — conflicting changes + - `⇡` — ahead of remote branch + - `⇣` — behind of remote branch + - `⇕` — diverged changes + - `?` — untracked changes + - `$` — stashed changes + - `!` — modified files + - `+` — added files + - `»` — renamed files + - `✘` — deleted files +- Execution time of the last command if it exceeds the set threshold +- Indicator for jobs in the background (`✦`) +- Current Kubernetes Cluster and Namespace (`☸`) + +## 🚀 Installation + +### Prerequisites + +- A [Powerline font](https://github.com/powerline/fonts) installed and enabled in your terminal (for example, try [Fira Code](https://github.com/tonsky/FiraCode)). + +### Getting Started + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` + +## 🔧 Configuration + +For details on how to configure Starship, check out our [documentation](https://starship.rs/config/). + +## 🤝 Contributing + +We are always looking for contributors of **all skill levels**! 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). + +### High Priority Needs + +- 👩‍💼 **Product Manager** + - We have a GitHub Project and many unorganized/unprioritized features, as well as ideas that haven't yet been made into issues. Starship needs someone to own the product direction! +- 👩‍🎨 **Designer** + - Like making eye-catching websites? Excellent! We are looking to create a beautiful landing page showing off Starship in all its glory. Helping design for Starship's brand is a great opportunity to try out new ideas! +- 👩‍💻 **Rust Developer** + - There is _a lot_ of low-hanging fruit when it comes to writing idiomatic Rust, designing effective Rust architecture, performance optimizations, cross-platform build optimizations, and more! I ([@matchai](https://github.com/matchai)) am a beginner to Rust. Come point us in the right direction! + +If you are interested in helping contribute to starship, please take a look at our [Contributing Guide](https://github.com/starship/starship/blob/master/CONTRIBUTING.md). Also, feel free to drop into our [Discord server](https://discord.gg/8Jzqu3T) and say hi. 👋 + +### Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Matan Kushner
Matan Kushner

💻 🎨 🤔 🚇 🚧 👀 ⚠️
John Letey
John Letey

💻 🤔 👀 ⚠️
Tim Mulqueen
Tim Mulqueen

💻 🤔 👀 ⚠️
Tiffany Le-Nguyen
Tiffany Le-Nguyen

🤔 🚧 👀 📖
​Snuggle
​Snuggle

🎨 🤔 🚧 👀
Ryan Leckey
Ryan Leckey

👀
Youssef Habri
Youssef Habri

💻
Kevin Song
Kevin Song

🐛 💻 📖 ⚠️
Andrew Dassonville
Andrew Dassonville

🐛 💻
MaT1g3R
MaT1g3R

💻 📖 ⚠️
André Zanellato
André Zanellato

💻 📖 ⚠️
Saghm Rossi
Saghm Rossi

💻 📖 ⚠️
Shu Kutsuzawa
Shu Kutsuzawa

💻 📖 ⚠️ 🌍
Saurav Sharma
Saurav Sharma

💻 📖
Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️ 📖
Bruno Bigras
Bruno Bigras

💻 👀
Neil Kistner
Neil Kistner

💻 ⚠️ 👀
Quinn Strahl
Quinn Strahl

💻 ⚠️
Titouan Vervack
Titouan Vervack

💻 ⚠️
Francisco Lopes
Francisco Lopes

💻
Andrew Houts
Andrew Houts

💻 📖 ⚠️
Nick Young
Nick Young

💻 📖 ⚠️ 👀
Gabriel de Perthuis
Gabriel de Perthuis

💻
Hofer-Julian
Hofer-Julian

📖
Yuji Ueki
Yuji Ueki

🖋 🌍
谢祯晖
谢祯晖

💻 📖 🌍 👀
Kutsuzawa Ryo
Kutsuzawa Ryo

👀 💻 ⚠️ 🌍
hdevalke
hdevalke

🤔
Kuba Clark
Kuba Clark

💻 📖 ⚠️
Gimbar
Gimbar

💻 ⚠️ 📖
Tom Hotston
Tom Hotston

💻 📖
Bijan Chokoufe Nejad
Bijan Chokoufe Nejad

💻 ⚠️ 👀
yuri
yuri

💻 📖 ⚠️
TsubasaKawajiri
TsubasaKawajiri

🌍
Ryo Yamashita
Ryo Yamashita

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +## 💭 Inspired By + +Please check out these previous works that helped inspire the creation of starship. 🙏 + +- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** - A ZSH prompt for astronauts. + +- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** - Cross-shell robbyrussell theme written in JavaScript. + +- **[reujab/silver](https://github.com/reujab/silver)** - A cross-shell customizable powerline-like prompt with icons. + +

+
+ Starship rocket icon +

+ +## 📝 License + +Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).
This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE) licensed. diff --git a/README.ja.md b/translations/README.ja.md similarity index 94% rename from README.ja.md rename to translations/README.ja.md index 8dc77d65..b432b294 100644 --- a/README.ja.md +++ b/translations/README.ja.md @@ -30,11 +30,11 @@


- ウェブサイト + ウェブサイト · - インストール + インストール · - 設定 + 設定

@@ -78,6 +78,7 @@ - `✘` — 削除されたファイル - 閾値を超えた際の、コマンドの実行時間 - バックグラウンドジョブのインジケーター (`✦`) +- Current Kubernetes Cluster and Namespace (`☸`) ## 🚀 インストール @@ -184,7 +185,7 @@ Starship の設定方法の詳細に関しては、[ドキュメント](https:// ### 貢献者 -これらの素晴らしい方々に感謝します ([emoji key](https://allcontributors.org/docs/en/emoji-key)): +これらの素晴らしい方々に感謝します ([emoji key](https://allcontributors.org/docs/ja/emoji-key)): @@ -208,7 +209,7 @@ Starship の設定方法の詳細に関しては、[ドキュメント](https:// Saurav Sharma
Saurav Sharma

💻 📖 - Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️ + Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️ 📖 Bruno Bigras
Bruno Bigras

💻 👀 Neil Kistner
Neil Kistner

💻 ⚠️ 👀 Quinn Strahl
Quinn Strahl

💻 ⚠️ @@ -229,16 +230,18 @@ Starship の設定方法の詳細に関しては、[ドキュメント](https:// Kuba Clark
Kuba Clark

💻 📖 ⚠️ Gimbar
Gimbar

💻 ⚠️ 📖 Tom Hotston
Tom Hotston

💻 📖 - Bijan Chokoufe Nejad
Bijan Chokoufe Nejad

💻 ⚠️ + Bijan Chokoufe Nejad
Bijan Chokoufe Nejad

💻 ⚠️ 👀 yuri
yuri

💻 📖 ⚠️ + TsubasaKawajiri
TsubasaKawajiri

🌍 + Ryo Yamashita
Ryo Yamashita

💻 -このプロジェクトは [all-contributors](https://github.com/all-contributors/all-contributors) の仕様に従っています。 どんな種類の貢献でもお待ちしています! +このプロジェクトは [all-contributors](https://allcontributors.org/docs/ja/overview) の仕様に従っています。 どんな種類の貢献でもお待ちしています! -## 影響を受けたプロダクト +## 💭影響を受けたプロダクト よければStarship の作成に影響を与えた、これまでのプロジェクトをチェックしてください 🙏 diff --git a/translations/README.ru.md b/translations/README.ru.md new file mode 100644 index 00000000..31add1bb --- /dev/null +++ b/translations/README.ru.md @@ -0,0 +1,261 @@ +

+
+ Starship – Cross-shell prompt +

+

+ + Crates.io version + + + Azure Pipelines Build Status + + + Packaging status +
+ + All Contributors + + + Chat on Discord + +

+

+
+ Website + · + Installation + · + Configuration +

+ +

+ +

Starship is the minimal, blazing fast, and extremely customizable prompt for any shell!
The prompt shows information you need while you're working, while staying sleek and out of the way.

+ +

+
+ Starship with iTerm2 and the Snazzy theme +
+
+

+ +## 🍬 Features + +- Prompt character turns red if the last command exits with non-zero code +- Current username if not the same as the logged-in user +- Current Java version(`☕`) +- Current Node.js version(`⬢`) +- Current Rust version (`🦀`) +- Current Ruby version (`💎`) +- Current Python version (`🐍`) +- Current Go version (`🐹`) +- Nix-shell environment detection +- Print an environment variable +- Current version of package in current directory (`📦`) + - npm (Node.js) + - cargo (Rust) + - poetry (Python) +- Current battery level and status +- Current Git branch and rich repo status: + - `=` — conflicting changes + - `⇡` — ahead of remote branch + - `⇣` — behind of remote branch + - `⇕` — diverged changes + - `?` — untracked changes + - `$` — stashed changes + - `!` — modified files + - `+` — added files + - `»` — renamed files + - `✘` — deleted files +- Execution time of the last command if it exceeds the set threshold +- Indicator for jobs in the background (`✦`) +- Current Kubernetes Cluster and Namespace (`☸`) + +## 🚀 Installation + +### Prerequisites + +- A [Powerline font](https://github.com/powerline/fonts) installed and enabled in your terminal (for example, try [Fira Code](https://github.com/tonsky/FiraCode)). + +### Getting Started + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` + +## 🔧 Configuration + +For details on how to configure Starship, check out our [documentation](https://starship.rs/config/). + +## 🤝 Contributing + +We are always looking for contributors of **all skill levels**! 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). + +### High Priority Needs + +- 👩‍💼 **Product Manager** + - We have a GitHub Project and many unorganized/unprioritized features, as well as ideas that haven't yet been made into issues. Starship needs someone to own the product direction! +- 👩‍🎨 **Designer** + - Like making eye-catching websites? Excellent! We are looking to create a beautiful landing page showing off Starship in all its glory. Helping design for Starship's brand is a great opportunity to try out new ideas! +- 👩‍💻 **Rust Developer** + - There is _a lot_ of low-hanging fruit when it comes to writing idiomatic Rust, designing effective Rust architecture, performance optimizations, cross-platform build optimizations, and more! I ([@matchai](https://github.com/matchai)) am a beginner to Rust. Come point us in the right direction! + +If you are interested in helping contribute to starship, please take a look at our [Contributing Guide](https://github.com/starship/starship/blob/master/CONTRIBUTING.md). Also, feel free to drop into our [Discord server](https://discord.gg/8Jzqu3T) and say hi. 👋 + +### Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Matan Kushner
Matan Kushner

💻 🎨 🤔 🚇 🚧 👀 ⚠️
John Letey
John Letey

💻 🤔 👀 ⚠️
Tim Mulqueen
Tim Mulqueen

💻 🤔 👀 ⚠️
Tiffany Le-Nguyen
Tiffany Le-Nguyen

🤔 🚧 👀 📖
​Snuggle
​Snuggle

🎨 🤔 🚧 👀
Ryan Leckey
Ryan Leckey

👀
Youssef Habri
Youssef Habri

💻
Kevin Song
Kevin Song

🐛 💻 📖 ⚠️
Andrew Dassonville
Andrew Dassonville

🐛 💻
MaT1g3R
MaT1g3R

💻 📖 ⚠️
André Zanellato
André Zanellato

💻 📖 ⚠️
Saghm Rossi
Saghm Rossi

💻 📖 ⚠️
Shu Kutsuzawa
Shu Kutsuzawa

💻 📖 ⚠️ 🌍
Saurav Sharma
Saurav Sharma

💻 📖
Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️ 📖
Bruno Bigras
Bruno Bigras

💻 👀
Neil Kistner
Neil Kistner

💻 ⚠️ 👀
Quinn Strahl
Quinn Strahl

💻 ⚠️
Titouan Vervack
Titouan Vervack

💻 ⚠️
Francisco Lopes
Francisco Lopes

💻
Andrew Houts
Andrew Houts

💻 📖 ⚠️
Nick Young
Nick Young

💻 📖 ⚠️ 👀
Gabriel de Perthuis
Gabriel de Perthuis

💻
Hofer-Julian
Hofer-Julian

📖
Yuji Ueki
Yuji Ueki

🖋 🌍
谢祯晖
谢祯晖

💻 📖 🌍 👀
Kutsuzawa Ryo
Kutsuzawa Ryo

👀 💻 ⚠️ 🌍
hdevalke
hdevalke

🤔
Kuba Clark
Kuba Clark

💻 📖 ⚠️
Gimbar
Gimbar

💻 ⚠️ 📖
Tom Hotston
Tom Hotston

💻 📖
Bijan Chokoufe Nejad
Bijan Chokoufe Nejad

💻 ⚠️ 👀
yuri
yuri

💻 📖 ⚠️
TsubasaKawajiri
TsubasaKawajiri

🌍
Ryo Yamashita
Ryo Yamashita

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +## 💭 Inspired By + +Please check out these previous works that helped inspire the creation of starship. 🙏 + +- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** - A ZSH prompt for astronauts. + +- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** - Cross-shell robbyrussell theme written in JavaScript. + +- **[reujab/silver](https://github.com/reujab/silver)** - A cross-shell customizable powerline-like prompt with icons. + +

+
+ Starship rocket icon +

+ +## 📝 License + +Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).
This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE) licensed. diff --git a/translations/README.zh.md b/translations/README.zh.md new file mode 100644 index 00000000..31add1bb --- /dev/null +++ b/translations/README.zh.md @@ -0,0 +1,261 @@ +

+
+ Starship – Cross-shell prompt +

+

+ + Crates.io version + + + Azure Pipelines Build Status + + + Packaging status +
+ + All Contributors + + + Chat on Discord + +

+

+
+ Website + · + Installation + · + Configuration +

+ +

+ +

Starship is the minimal, blazing fast, and extremely customizable prompt for any shell!
The prompt shows information you need while you're working, while staying sleek and out of the way.

+ +

+
+ Starship with iTerm2 and the Snazzy theme +
+
+

+ +## 🍬 Features + +- Prompt character turns red if the last command exits with non-zero code +- Current username if not the same as the logged-in user +- Current Java version(`☕`) +- Current Node.js version(`⬢`) +- Current Rust version (`🦀`) +- Current Ruby version (`💎`) +- Current Python version (`🐍`) +- Current Go version (`🐹`) +- Nix-shell environment detection +- Print an environment variable +- Current version of package in current directory (`📦`) + - npm (Node.js) + - cargo (Rust) + - poetry (Python) +- Current battery level and status +- Current Git branch and rich repo status: + - `=` — conflicting changes + - `⇡` — ahead of remote branch + - `⇣` — behind of remote branch + - `⇕` — diverged changes + - `?` — untracked changes + - `$` — stashed changes + - `!` — modified files + - `+` — added files + - `»` — renamed files + - `✘` — deleted files +- Execution time of the last command if it exceeds the set threshold +- Indicator for jobs in the background (`✦`) +- Current Kubernetes Cluster and Namespace (`☸`) + +## 🚀 Installation + +### Prerequisites + +- A [Powerline font](https://github.com/powerline/fonts) installed and enabled in your terminal (for example, try [Fira Code](https://github.com/tonsky/FiraCode)). + +### Getting Started + +1. Install the **starship** binary: + + **[Download archives of precompiled binaries](https://github.com/starship/starship/releases)** if you don't use the platforms below. + + + #### Homebrew + + ```sh + $ brew install starship + ``` + + + #### Rust (v1.33 or higher) + + ```sh + $ cargo install starship + ``` + + + #### Arch Linux (AUR) + + Starship is available on the AUR under the name `starship`. Install it with `yay` or your favorite AUR helper. + + ```sh + $ yay -S starship + ``` + + + #### Nix (unstable) + + ```sh + $ nix-env --install starship + ``` + + + #### Termux + + ```sh + $ pkg install starship + ``` + +1. Add the init script to your shell's config file: + + + #### Bash + + Add the following to the end of `~/.bashrc`: + + ```sh + # ~/.bashrc + + eval "$(starship init bash)" + ``` + + + #### Fish + + Add the following to the end of `~/.config/fish/config.fish`: + + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` + + + #### Zsh + + Add the following to the end of `~/.zshrc`: + + ```sh + # ~/.zshrc + + eval "$(starship init zsh)" + ``` + +## 🔧 Configuration + +For details on how to configure Starship, check out our [documentation](https://starship.rs/config/). + +## 🤝 Contributing + +We are always looking for contributors of **all skill levels**! 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). + +### High Priority Needs + +- 👩‍💼 **Product Manager** + - We have a GitHub Project and many unorganized/unprioritized features, as well as ideas that haven't yet been made into issues. Starship needs someone to own the product direction! +- 👩‍🎨 **Designer** + - Like making eye-catching websites? Excellent! We are looking to create a beautiful landing page showing off Starship in all its glory. Helping design for Starship's brand is a great opportunity to try out new ideas! +- 👩‍💻 **Rust Developer** + - There is _a lot_ of low-hanging fruit when it comes to writing idiomatic Rust, designing effective Rust architecture, performance optimizations, cross-platform build optimizations, and more! I ([@matchai](https://github.com/matchai)) am a beginner to Rust. Come point us in the right direction! + +If you are interested in helping contribute to starship, please take a look at our [Contributing Guide](https://github.com/starship/starship/blob/master/CONTRIBUTING.md). Also, feel free to drop into our [Discord server](https://discord.gg/8Jzqu3T) and say hi. 👋 + +### Contributors + +Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Matan Kushner
Matan Kushner

💻 🎨 🤔 🚇 🚧 👀 ⚠️
John Letey
John Letey

💻 🤔 👀 ⚠️
Tim Mulqueen
Tim Mulqueen

💻 🤔 👀 ⚠️
Tiffany Le-Nguyen
Tiffany Le-Nguyen

🤔 🚧 👀 📖
​Snuggle
​Snuggle

🎨 🤔 🚧 👀
Ryan Leckey
Ryan Leckey

👀
Youssef Habri
Youssef Habri

💻
Kevin Song
Kevin Song

🐛 💻 📖 ⚠️
Andrew Dassonville
Andrew Dassonville

🐛 💻
MaT1g3R
MaT1g3R

💻 📖 ⚠️
André Zanellato
André Zanellato

💻 📖 ⚠️
Saghm Rossi
Saghm Rossi

💻 📖 ⚠️
Shu Kutsuzawa
Shu Kutsuzawa

💻 📖 ⚠️ 🌍
Saurav Sharma
Saurav Sharma

💻 📖
Thomas O'Donnell
Thomas O'Donnell

💻 ⚠️ 📖
Bruno Bigras
Bruno Bigras

💻 👀
Neil Kistner
Neil Kistner

💻 ⚠️ 👀
Quinn Strahl
Quinn Strahl

💻 ⚠️
Titouan Vervack
Titouan Vervack

💻 ⚠️
Francisco Lopes
Francisco Lopes

💻
Andrew Houts
Andrew Houts

💻 📖 ⚠️
Nick Young
Nick Young

💻 📖 ⚠️ 👀
Gabriel de Perthuis
Gabriel de Perthuis

💻
Hofer-Julian
Hofer-Julian

📖
Yuji Ueki
Yuji Ueki

🖋 🌍
谢祯晖
谢祯晖

💻 📖 🌍 👀
Kutsuzawa Ryo
Kutsuzawa Ryo

👀 💻 ⚠️ 🌍
hdevalke
hdevalke

🤔
Kuba Clark
Kuba Clark

💻 📖 ⚠️
Gimbar
Gimbar

💻 ⚠️ 📖
Tom Hotston
Tom Hotston

💻 📖
Bijan Chokoufe Nejad
Bijan Chokoufe Nejad

💻 ⚠️ 👀
yuri
yuri

💻 📖 ⚠️
TsubasaKawajiri
TsubasaKawajiri

🌍
Ryo Yamashita
Ryo Yamashita

💻
+ + + +This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +## 💭 Inspired By + +Please check out these previous works that helped inspire the creation of starship. 🙏 + +- **[denysdovhan/spaceship-prompt](https://github.com/denysdovhan/spaceship-prompt)** - A ZSH prompt for astronauts. + +- **[denysdovhan/robbyrussell-node](https://github.com/denysdovhan/robbyrussell-node)** - Cross-shell robbyrussell theme written in JavaScript. + +- **[reujab/silver](https://github.com/reujab/silver)** - A cross-shell customizable powerline-like prompt with icons. + +

+
+ Starship rocket icon +

+ +## 📝 License + +Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).
This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE) licensed.