starship/README.md

461 lines
15 KiB
Markdown
Raw Permalink Normal View History

<p align="center">
<img
width="400"
src="https://raw.githubusercontent.com/starship/starship/master/media/logo.png"
alt="Starship Cross-shell prompt"
/>
</p>
<p align="center">
<a href="https://github.com/starship/starship/actions"
><img
2022-12-19 09:15:30 +00:00
src="https://img.shields.io/github/actions/workflow/status/starship/starship/workflow.yml?branch=master&label=workflow&style=flat-square"
alt="GitHub Actions workflow status"
/></a>
<a href="https://crates.io/crates/starship"
><img
src="https://img.shields.io/crates/v/starship?style=flat-square"
alt="Crates.io version"
/></a>
<a href="https://repology.org/project/starship/versions"
><img
src="https://img.shields.io/repology/repositories/starship?label=in%20repositories&style=flat-square"
alt="Packaging status"/></a
><br />
<a href="https://discord.gg/starship"
><img
2020-02-11 23:28:16 +00:00
src="https://img.shields.io/discord/567163873606500352?label=discord&logoColor=white&style=flat-square"
alt="Chat on Discord"
/></a>
2020-02-13 20:49:40 +00:00
<a href="https://twitter.com/StarshipPrompt"
><img
2020-02-13 20:49:40 +00:00
src="https://img.shields.io/badge/twitter-@StarshipPrompt-1DA1F3?style=flat-square"
alt="Follow @StarshipPrompt on Twitter"
/></a>
</p>
<p align="center">
<a href="https://starship.rs">Website</a>
·
<a href="#🚀-installation">Installation</a>
·
<a href="https://starship.rs/config/">Configuration</a>
</p>
<p align="center">
<a href="https://github.com/starship/starship/blob/master/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-us.png"
alt="English"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/de-DE/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-de.png"
alt="Deutsch"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/es-ES/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-es.png"
alt="Español"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/fr-FR/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-fr.png"
alt="Français"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/id-ID/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-id.png"
alt="Bahasa Indonesia"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/it-IT/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-it.png"
alt="Italiano"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/ja-JP/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-jp.png"
alt="日本語"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/pt-BR/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-br.png"
alt="Português do Brasil"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/ru-RU/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-ru.png"
alt="Русский"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/uk-UA/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-ua.png"
alt="Українська"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/vi-VN/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-vn.png"
alt="Tiếng Việt"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/zh-CN/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-cn.png"
alt="简体中文"
/></a>
&nbsp;
<a
href="https://github.com/starship/starship/blob/master/docs/zh-TW/guide/README.md"
><img
height="20"
src="https://raw.githubusercontent.com/starship/starship/master/media/flag-tw.png"
alt="繁體中文"
/></a>
</p>
2019-04-13 04:45:33 +00:00
<h1></h1>
<img
src="https://raw.githubusercontent.com/starship/starship/master/media/demo.gif"
alt="Starship with iTerm2 and the Snazzy theme"
width="50%"
align="right"
/>
**The minimal, blazing-fast, and infinitely customizable prompt for any shell!**
- **Fast:** it's fast _really really_ fast! 🚀
- **Customizable:** configure every aspect of your prompt.
- **Universal:** works on any shell, on any operating system.
- **Intelligent:** shows relevant information at a glance.
- **Feature rich:** support for all your favorite tools.
- **Easy:** quick to install  start using it in minutes.
2019-04-13 04:45:33 +00:00
2019-07-15 16:01:37 +00:00
<p align="center">
<a href="https://starship.rs/config/"><strong>Explore the Starship docs&nbsp;&nbsp;</strong></a>
2019-07-15 16:01:37 +00:00
</p>
2019-04-13 04:45:33 +00:00
<a name="🚀-installation"></a>
## 🚀 Installation
2019-04-13 04:33:50 +00:00
### Prerequisites
- A [Nerd Font](https://www.nerdfonts.com/) installed and enabled in your terminal (for example, try the [FiraCode Nerd Font](https://www.nerdfonts.com/font-downloads)).
2019-04-13 04:33:50 +00:00
### Step 1. Install Starship
2019-04-13 04:33:50 +00:00
Select your operating system from the list below to view installation instructions:
<details>
<summary>Android</summary>
2019-04-13 04:33:50 +00:00
Install Starship using any of the following package managers:
| Repository | Instructions |
| ---------- | ---------------------- |
| [Termux] | `pkg install starship` |
</details>
<details>
<summary>BSD</summary>
Install Starship using any of the following package managers:
| Distribution | Repository | Instructions |
| ------------ | --------------- | --------------------------------- |
| **_Any_** | **[crates.io]** | `cargo install starship --locked` |
| FreeBSD | [FreshPorts] | `pkg install starship` |
| NetBSD | [pkgsrc] | `pkgin install starship` |
</details>
<details>
<summary>Linux</summary>
Install the latest version for your system:
```sh
curl -sS https://starship.rs/install.sh | sh
```
Alternatively, install Starship using any of the following package managers:
| Distribution | Repository | Instructions |
| ------------------ | ----------------------- | ------------------------------------------------------------- |
| **_Any_** | **[crates.io]** | `cargo install starship --locked` |
| _Any_ | [conda-forge] | `conda install -c conda-forge starship` |
| _Any_ | [Linuxbrew] | `brew install starship` |
| Alpine Linux 3.13+ | [Alpine Linux Packages] | `apk add starship` |
| Arch Linux | [Arch Linux Extra] | `pacman -S starship` |
| CentOS 7+ | [Copr] | `dnf copr enable atim/starship` <br /> `dnf install starship` |
| Gentoo | [Gentoo Packages] | `emerge app-shells/starship` |
| Manjaro | | `pacman -S starship` |
| NixOS | [nixpkgs] | `nix-env -iA nixpkgs.starship` |
| Void Linux | [Void Linux Packages] | `xbps-install -S starship` |
</details>
<details>
<summary>macOS</summary>
Install the latest version for your system:
2019-04-13 04:33:50 +00:00
```sh
curl -sS https://starship.rs/install.sh | sh
```
Alternatively, install Starship using any of the following package managers:
| Repository | Instructions |
| --------------- | --------------------------------------- |
| **[crates.io]** | `cargo install starship --locked` |
| [conda-forge] | `conda install -c conda-forge starship` |
| [Homebrew] | `brew install starship` |
| [MacPorts] | `port install starship` |
</details>
<details>
<summary>Windows</summary>
Install the latest version for your system with the MSI-installers from the [releases section](https://github.com/starship/starship/releases/latest).
Install Starship using any of the following package managers:
| Repository | Instructions |
| --------------- | --------------------------------------- |
| **[crates.io]** | `cargo install starship --locked` |
| [Chocolatey] | `choco install starship` |
| [conda-forge] | `conda install -c conda-forge starship` |
| [Scoop] | `scoop install starship` |
| [winget] | `winget install --id Starship.Starship` |
</details>
### Step 2. Set up your shell to use Starship
2019-05-14 04:43:11 +00:00
Configure your shell to initialize starship. Select yours from the list below:
<details>
<summary>Bash</summary>
Add the following to the end of `~/.bashrc`:
```sh
eval "$(starship init bash)"
```
</details>
<details>
<summary>Cmd</summary>
You need to use [Clink](https://chrisant996.github.io/clink/clink.html) (v1.2.30+) with Cmd.
Create a file at this path `%LocalAppData%\clink\starship.lua` with the following contents:
```lua
load(io.popen('starship init cmd'):read("*a"))()
```
</details>
<details>
<summary>Elvish</summary>
Add the following to the end of `~/.elvish/rc.elv`:
```sh
eval (starship init elvish)
```
Note: Only Elvish v0.18+ is supported
</details>
<details>
<summary>Fish</summary>
Add the following to the end of `~/.config/fish/config.fish`:
```fish
starship init fish | source
```
</details>
<details>
<summary>Ion</summary>
Add the following to the end of `~/.config/ion/initrc`:
```sh
eval $(starship init ion)
```
</details>
<details>
<summary>Nushell</summary>
Add the following to the end of your Nushell env file (find it by running `$nu.env-path` in Nushell):
```sh
mkdir ~/.cache/starship
starship init nu | save -f ~/.cache/starship/init.nu
```
2021-07-04 19:32:58 +00:00
And add the following to the end of your Nushell configuration (find it by running `$nu.config-path`):
```sh
feat: update the nushell init file and make it valid module and overlay (#5188) * break long commands into multiple lines for readability * fix the format of closures We generally write `{|| ...}` instead of `{ || ...}`. * remove the `$"--opt=(val)"` structure when possible `starship` does not require to use `--opt=val` and so we do not need to do that with Nushell :) the only place where this is required is with `--status` because `$env.LAST_EXIT_CODE` can be negative and `starship` does not appear to *like* values of the form `-2`... so i left this line as it was. on the other hand, `$env.CMD_DURATION_MS` and `(term size).columns` should be fine :relieved: * simplify the `config` mutation with new `?` syntax This is a new very handy feature of Nushell which gives a much simpler command combined with `default` and `merge`. * put all `let-env`s inside an `export-env` with `load-env` This commit has two reasons of existing: - i think it makes it a bit easier to read with less `let-env`s - it transforms the *script* into both a valid module and a valid overlay * bump the version to `0.78` in to docs * add a note about the init file being also a module to all docs * tweak the documentation * update the Nushell part of the install script * format the vuepress config file as previous commit 117580136d3da5e00a4ccb7ada508c8510a2e50e was not successful, let's try to make the CI happy manually :relieved: * remove code quotes in the `config_cmd` of Nushell * format the style in the Nushell `warning` section
2023-06-12 09:02:46 +00:00
use ~/.cache/starship/init.nu
```
feat: update the nushell init file and make it valid module and overlay (#5188) * break long commands into multiple lines for readability * fix the format of closures We generally write `{|| ...}` instead of `{ || ...}`. * remove the `$"--opt=(val)"` structure when possible `starship` does not require to use `--opt=val` and so we do not need to do that with Nushell :) the only place where this is required is with `--status` because `$env.LAST_EXIT_CODE` can be negative and `starship` does not appear to *like* values of the form `-2`... so i left this line as it was. on the other hand, `$env.CMD_DURATION_MS` and `(term size).columns` should be fine :relieved: * simplify the `config` mutation with new `?` syntax This is a new very handy feature of Nushell which gives a much simpler command combined with `default` and `merge`. * put all `let-env`s inside an `export-env` with `load-env` This commit has two reasons of existing: - i think it makes it a bit easier to read with less `let-env`s - it transforms the *script* into both a valid module and a valid overlay * bump the version to `0.78` in to docs * add a note about the init file being also a module to all docs * tweak the documentation * update the Nushell part of the install script * format the vuepress config file as previous commit 117580136d3da5e00a4ccb7ada508c8510a2e50e was not successful, let's try to make the CI happy manually :relieved: * remove code quotes in the `config_cmd` of Nushell * format the style in the Nushell `warning` section
2023-06-12 09:02:46 +00:00
Note: Only Nushell v0.78+ is supported
</details>
<details>
<summary>PowerShell</summary>
Add the following to the end of your PowerShell configuration (find it by running `$PROFILE`):
```powershell
Invoke-Expression (&starship init powershell)
```
</details>
<details>
<summary>Tcsh</summary>
Add the following to the end of `~/.tcshrc`:
```sh
eval `starship init tcsh`
```
</details>
<details>
<summary>Xonsh</summary>
Add the following to the end of `~/.xonshrc`:
```python
execx($(starship init xonsh))
```
</details>
<details>
<summary>Zsh</summary>
Add the following to the end of `~/.zshrc`:
```sh
eval "$(starship init zsh)"
```
</details>
### Step 3. Configure Starship
Start a new shell instance, and you should see your beautiful new shell prompt.
If you're happy with the defaults, enjoy!
If you're looking to further customize Starship:
- **[Configuration](https://starship.rs/config/)** learn how to configure Starship to tweak your prompt to your liking
- **[Presets](https://starship.rs/presets/)** get inspired by the pre-built configuration of others
2021-07-04 19:32:58 +00:00
## 🤝 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).
If you are fluent in a non-English language, we greatly appreciate any help keeping our docs translated and up-to-date in other languages. If you would like to help, translations can be contributed on the [Starship Crowdin](https://translate.starship.rs/).
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. 👋
## 💭 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.
## ❤️ Sponsors
Support this project by [becoming a sponsor](https://github.com/sponsors/starship). Your name or logo will show up here with a link to your website.
**Supporter Tier**
- [Appwrite](https://appwrite.io/)
<p align="center">
<br>
2019-09-27 16:49:48 +00:00
<img width="100" src="https://raw.githubusercontent.com/starship/starship/master/media/icon.png" alt="Starship rocket icon">
</p>
## 📝 License
Copyright © 2019-present, [Starship Contributors](https://github.com/starship/starship/graphs/contributors).<br>
This project is [ISC](https://github.com/starship/starship/blob/master/LICENSE) licensed.
[alpine linux packages]: https://pkgs.alpinelinux.org/packages?name=starship
[arch linux extra]: https://archlinux.org/packages/extra/x86_64/starship
[chocolatey]: https://community.chocolatey.org/packages/starship
[conda-forge]: https://anaconda.org/conda-forge/starship
[copr]: https://copr.fedorainfracloud.org/coprs/atim/starship
[crates.io]: https://crates.io/crates/starship
[freshports]: https://www.freshports.org/shells/starship
[gentoo packages]: https://packages.gentoo.org/packages/app-shells/starship
[linuxbrew]: https://formulae.brew.sh/formula/starship
[homebrew]: https://formulae.brew.sh/formula/starship
[macports]: https://ports.macports.org/port/starship
[nixpkgs]: https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/misc/starship/default.nix
[pkgsrc]: https://pkgsrc.se/shells/starship
[scoop]: https://github.com/ScoopInstaller/Main/blob/master/bucket/starship.json
[termux]: https://github.com/termux/termux-packages/tree/master/packages/starship
[void linux packages]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/starship
[winget]: https://github.com/microsoft/winget-pkgs/tree/master/manifests/s/Starship/Starship