326 lines
12 KiB
Markdown
326 lines
12 KiB
Markdown
|
[![SWUbanner](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner-direct-single.svg)](https://stand-with-ukraine.pp.ua/)
|
||
|
|
||
|
<h1 align="center">
|
||
|
<a href="https://github.com/spaceship-prompt/spaceship-prompt">
|
||
|
<img alt="spaceship →~ prompt" src="https://cloud.githubusercontent.com/assets/3459374/21679181/46e24706-d34b-11e6-82ee-5efb3d2ba70f.png" width="400">
|
||
|
</a>
|
||
|
<br>Spaceship Prompt 🚀⭐<br>
|
||
|
</h1>
|
||
|
|
||
|
<h4 align="center">
|
||
|
Minimalistic, powerful and extremely customizable <a href="http://zsh.org" target="_blank"><code>Zsh</code></a> prompt
|
||
|
</h4>
|
||
|
|
||
|
<p align="center">
|
||
|
<a href="https://npmjs.org/package/spaceship-prompt">
|
||
|
<img src="https://img.shields.io/npm/v/spaceship-prompt.svg?style=flat-square"
|
||
|
alt="NPM Version" />
|
||
|
</a>
|
||
|
|
||
|
<a href="https://github.com/spaceship-prompt/spaceship-prompt/actions">
|
||
|
<img src="https://img.shields.io/github/workflow/status/spaceship-prompt/spaceship-prompt/ci?style=flat-square"
|
||
|
alt="GitHub Workflow Status" />
|
||
|
</a>
|
||
|
|
||
|
<a href="http://zsh.org/">
|
||
|
<img src="https://img.shields.io/badge/zsh-%3E%3Dv5.2-777777.svg?style=flat-square"
|
||
|
alt="Zsh Version" />
|
||
|
</a>
|
||
|
|
||
|
<a href="https://twitter.com/SpaceshipPrompt">
|
||
|
<img src="https://img.shields.io/badge/twitter-%40SpaceshipZSH-00ACEE.svg?style=flat-square"
|
||
|
alt="Spaceship Twitter" />
|
||
|
</a>
|
||
|
|
||
|
<a href="https://discord.gg/NTQWz8Dyt9">
|
||
|
<img
|
||
|
src="https://img.shields.io/discord/859409950999707668?label=discord&logoColor=white&style=flat-square"
|
||
|
alt="Chat on Discord"
|
||
|
/>
|
||
|
</a>
|
||
|
|
||
|
<a href="https://patreon.com/denysdovhan">
|
||
|
<img src="https://img.shields.io/badge/support-patreon-F96854.svg?style=flat-square"
|
||
|
alt="Donate" />
|
||
|
</a>
|
||
|
</p>
|
||
|
|
||
|
<div align="center">
|
||
|
<h4>
|
||
|
<a href="https://spaceship-prompt.sh">Website</a> |
|
||
|
<a href="https://spaceship-prompt.sh/getting-started">Installation</a> |
|
||
|
<a href="https://spaceship-prompt.sh/config/intro">Configuration</a> |
|
||
|
<a href="https://spaceship-prompt.sh/advanced/creating-section">Advanced Usage</a>
|
||
|
</h4>
|
||
|
</div>
|
||
|
|
||
|
<div align="center">
|
||
|
<sub>Built with ❤︎ by
|
||
|
<a href="https://denysdovhan.com">Denys Dovhan</a> and
|
||
|
<a href="https://github.com/spaceship-prompt/spaceship-prompt/graphs/contributors">contributors </a>
|
||
|
</div>
|
||
|
<br>
|
||
|
|
||
|
Spaceship is a minimalistic, powerful and extremely customizable [Zsh][zsh-url] prompt. Prompt is what you see when you type a command. It can show a lot of useful tips, saving your time and making user experience smooth and pleasant. It combines everything you may need for convenient work, without unnecessary complications, like a real spaceship.
|
||
|
|
||
|
<p align="center">
|
||
|
<a href="https://asciinema.org/a/513451">
|
||
|
<img alt="Spaceship with One Dark, zsh-autosuggestions and zsh-syntax-highlight" src="https://user-images.githubusercontent.com/3459374/183478313-5aa02cbe-fafc-42e0-a791-ea08a0902f56.gif" width="80%">
|
||
|
</a>
|
||
|
<br>
|
||
|
<sup>Visit <a href="https://deploy-preview-963--spaceship-prompt.netlify.app/faq/#why-doesnt-my-prompt-look-like-the-preview">Frequently Asked Question</a> for similar setup and find more examples with different color schemes in <a href="https://github.com/spaceship-prompt/spaceship-prompt/wiki/Screenshots">Screenshots </a>wiki-page.
|
||
|
</sup>
|
||
|
</p>
|
||
|
|
||
|
## ✨ Features
|
||
|
|
||
|
Here are some sneak picks of what **Spaceship** can show:
|
||
|
|
||
|
- Clever hostname and username displaying
|
||
|
- Repository statuses (Git and Mercurial are supported)
|
||
|
- Runtime environments for various languages (Node.js, Rust, Python, Ruby, Swift, Go, PHP and many others)
|
||
|
- Docker version, Kubernetes context and connected machine
|
||
|
- Package version (npm, lerna, cargo, composer and others)
|
||
|
- Battery level and status
|
||
|
- Indicator for jobs in the background `✦`
|
||
|
- A lot of [useful information](https://spaceship-prompt.sh/sections)
|
||
|
- Custom [information of your choice](https://spaceship-prompt.sh/advanced/creating-section)
|
||
|
|
||
|
Want more features? Please, [open an issue](https://github.com/spaceship-prompt/spaceship-prompt/issues/new/choose) or send pull request.
|
||
|
|
||
|
## 🤝 Requirements
|
||
|
|
||
|
Before we begin, let's make sure you have the following installed:
|
||
|
|
||
|
- [Zsh](http://www.zsh.org/) (v5.2 or recent) must be installed. Run the following command to check you version of Zsh:
|
||
|
```zsh
|
||
|
echo $ZSH_VERSION #> 5.8.1
|
||
|
```
|
||
|
- [Powerline Font](https://github.com/powerline/fonts) or [Nerd Font](https://www.nerdfonts.com/) (even better) must be installed and used in your terminal. [Fira Code](https://github.com/tonsky/FiraCode) is a popular choice. To check if Powerline Font works for you, run:
|
||
|
```zsh
|
||
|
echo -e "\xee\x82\xa0" #>
|
||
|
```
|
||
|
|
||
|
## 🚀 Installation
|
||
|
|
||
|
Here's a few popular methods to install Spaceship. Select the one you use from the list below:
|
||
|
|
||
|
<details>
|
||
|
<summary>Homebrew</summary>
|
||
|
Installing Spaceship via Homebrew is a simple command:
|
||
|
|
||
|
```zsh title="Terminal"
|
||
|
brew install spaceship
|
||
|
```
|
||
|
|
||
|
Add prompt initialization to your `.zshrc`:
|
||
|
|
||
|
```zsh title="Terminal"
|
||
|
echo "source $(brew --prefix)/opt/spaceship/spaceship.zsh" >>! ~/.zshrc
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>Oh-My-Zsh</summary>
|
||
|
Clone this repo:
|
||
|
|
||
|
```zsh
|
||
|
git clone https://github.com/spaceship-prompt/spaceship-prompt.git "$ZSH_CUSTOM/themes/spaceship-prompt" --depth=1
|
||
|
```
|
||
|
|
||
|
Symlink `spaceship.zsh-theme` to your oh-my-zsh custom themes directory:
|
||
|
|
||
|
```zsh
|
||
|
ln -s "$ZSH_CUSTOM/themes/spaceship-prompt/spaceship.zsh-theme" "$ZSH_CUSTOM/themes/spaceship.zsh-theme"
|
||
|
```
|
||
|
|
||
|
Set `ZSH_THEME="spaceship"` in your `.zshrc`.
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>npm</summary>
|
||
|
Install Spaceship via npm as you would with any other global package:
|
||
|
|
||
|
```
|
||
|
npm install -g spaceship-prompt
|
||
|
```
|
||
|
|
||
|
This command will download Spaceship. It will also ask you to source Spaceship in your `~/.zshrc` file.
|
||
|
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>prezto</summary>
|
||
|
|
||
|
- Follow [prezto-contrib#usage](https://github.com/belak/prezto-contrib#usage) to clone `prezto-contrib` to the proper location.
|
||
|
- Enable the `contrib-prompt` module (before the `prompt` module).
|
||
|
- Set `zstyle ':prezto:module:prompt' theme 'spaceship'` in your `.zpreztorc`.
|
||
|
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>zim</summary>
|
||
|
Add Spaceship to your `.zimrc`:
|
||
|
|
||
|
```zsh
|
||
|
zmodule spaceship-prompt/spaceship-prompt --name spaceship --no-submodules
|
||
|
```
|
||
|
|
||
|
Then install Spaceship:
|
||
|
|
||
|
```zsh
|
||
|
zimfw install
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>antigen</summary>
|
||
|
Add the following snippet in your `.zshrc`:
|
||
|
|
||
|
```zsh
|
||
|
antigen theme spaceship-prompt/spaceship-prompt
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>antibody</summary>
|
||
|
Update your `.zshrc` file with the following line:
|
||
|
|
||
|
```zsh
|
||
|
antibody bundle spaceship-prompt/spaceship-prompt
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>zinit</summary>
|
||
|
Add the following line to your `.zshrc` where you're adding your other Zsh plugins:
|
||
|
|
||
|
```zsh
|
||
|
zinit light spaceship-prompt/spaceship-prompt
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>zgen</summary>
|
||
|
Add the following line to your `.zshrc` where you're adding your other Zsh plugins:
|
||
|
|
||
|
```zsh
|
||
|
zgen load spaceship-prompt/spaceship-prompt spaceship
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>zplug</summary>
|
||
|
Use this command in your `.zshrc` to load Spaceship as prompt theme:
|
||
|
|
||
|
```zsh
|
||
|
zplug "spaceship-prompt/spaceship-prompt", use:spaceship.zsh, from:github, as:theme
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>sheldon</summary>
|
||
|
Add the following to your `plugins.toml` file (open it with `sheldon edit`):
|
||
|
|
||
|
```toml
|
||
|
[plugins.spaceship]
|
||
|
github = "spaceship-prompt/spaceship-prompt"
|
||
|
```
|
||
|
|
||
|
Or run the following to automatically add it:
|
||
|
|
||
|
```zsh
|
||
|
sheldon add spaceship --github spaceship-prompt/spaceship-prompt
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>Arch</summary>
|
||
|
Install the latest master from the AUR package [`spaceship-prompt-git`](https://aur.archlinux.org/packages/spaceship-prompt-git/):
|
||
|
|
||
|
```
|
||
|
git clone https://aur.archlinux.org/spaceship-prompt-git.git --depth=1
|
||
|
cd spaceship-prompt-git
|
||
|
makepkg -si
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
<details>
|
||
|
<summary>Manual</summary>
|
||
|
|
||
|
If none of the above methods works for you, you can install Spaceship manually.
|
||
|
|
||
|
1. Clone this repo somewhere, for example to `$HOME/.zsh/spaceship`.
|
||
|
2. Source Spaceship in your `~/.zshrc`.
|
||
|
|
||
|
### Example
|
||
|
|
||
|
```zsh
|
||
|
mkdir -p "$HOME/.zsh"
|
||
|
git clone --depth=1 https://github.com/spaceship-prompt/spaceship-prompt.git "$HOME/.zsh/spaceship"
|
||
|
```
|
||
|
|
||
|
For initializing prompt system add this to your `.zshrc`:
|
||
|
|
||
|
```zsh title=".zshrc"
|
||
|
source "$HOME/.zsh/spaceship/spaceship.zsh"
|
||
|
```
|
||
|
</details>
|
||
|
|
||
|
## ⚙️ Configuration
|
||
|
|
||
|
Spaceship works well out of the box, but you can customize almost everything if you want.
|
||
|
|
||
|
- [**⚙️ Configuration**](https://spaceship-prompt.sh/config/intro) — Tweak section's behavior with tons of options.
|
||
|
- [**😎 Advanced Usage**](https://spaceship-prompt.sh/advanced/creating-section) — Learn how to create a custom section, benefit of per-directory configuration and more.
|
||
|
|
||
|
Additionally, join our community in [Discord](https://discord.gg/NTQWz8Dyt9) and follow our [Twitter](https//twitter.com/SpaceshipPrompt) for updates.
|
||
|
|
||
|
## 🫶 Contributing
|
||
|
|
||
|
We're glad to accept contributions from developers of **all skill levels**! If you are interested in contributing to Spaceship, please take a look at our [Contribution Guide](./CONTRIBUTING.md) for more details. If you're looking for an easy way into the project, take one of the issues with [**good first issue**](https://github.com/spaceship-prompt/spaceship-prompt/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label.
|
||
|
|
||
|
If you are fluent in any other language besides English, we greatly appreciate any help with translating our documentation in other languages. If you would like to help, join the [team of translators on our Crowdin](https://translate.spaceship-prompt.sh).
|
||
|
|
||
|
If you're interested in helping other people, answer questions asked by other users of Spaceship and help to solve their issues. Additionally, join our [**Discord**](https://discord.gg/NTQWz8Dyt9) to discuss Spaceship and help people who need help.
|
||
|
|
||
|
## 💌 Sponsoring
|
||
|
|
||
|
If you really enjoy this project, you can contribute financially. Any contribution is highly appreciated, even the smallest one. There are several ways to donate:
|
||
|
|
||
|
* **Recurring donations**:
|
||
|
* [GitHub Sponsors](https://github.com/sponsors/denysdovhan?frequency=recurring)
|
||
|
* [Open Collective](https://opencollective.com/spaceship-prompt)
|
||
|
* [Patreon](https://patreon.com/denysdovhan)
|
||
|
* **One-time donations**:
|
||
|
* [GitHub Sponsors](https://github.com/sponsors/denysdovhan?frequency=one-time)
|
||
|
* [Buy Me A Coffee](https://buymeacoffee.com/denysdovhan)
|
||
|
* [Monobank Jar](https://send.monobank.ua/jar/2N46sWTaZZ)
|
||
|
* **Crypto donations**:
|
||
|
* Ethereum: `0x5C9496De5E51D48daf28354DC04d8f9D33955559`
|
||
|
* Bitcoin: `bc1q5ezjvpgftmx42f9qgdf5lscjz43uh4jf02uvje`
|
||
|
|
||
|
## 🤔 Having trouble?
|
||
|
|
||
|
Find answers on our troubleshooting page or get help by our community.
|
||
|
|
||
|
[**Issues**](https://github.com/spaceship-prompt/spaceship-prompt/issues) • [**Discussions**](https://github.com/spaceship-prompt/spaceship-prompt/discussions/) • [**Discord**](https://discord.gg/NTQWz8Dyt9)
|
||
|
|
||
|
Still struggling? Please, [*file an issue*](https://github.com/spaceship-prompt/spaceship-prompt/issues/new/choose), describe your problem, and we will gladly help you.
|
||
|
|
||
|
## 👀 Derived Projects
|
||
|
|
||
|
Here's a list of related projects that have been inspired by Spaceship ZSH.
|
||
|
|
||
|
- [**denysdovhan/dotfiles**](https://github.com/denysdovhan/dotfiles) - Dotfiles of Spaceship's author from which Spaceship is originated.
|
||
|
- [**matchai/spacefish**](https://github.com/matchai/spacefish) - A port of Spaceship ZSH for fish shell intending to achieve complete feature parity.
|
||
|
- [**starship/starship**](https://github.com/starship/starship) - A blazing-fast, cross-shell prompt written in Rust, heavily inspired by Spaceship ZSH.
|
||
|
|
||
|
## 📄 License
|
||
|
|
||
|
MIT © [Denys Dovhan](http://denysdovhan.com)
|
||
|
|
||
|
<!-- References -->
|
||
|
[zsh-url]: http://zsh.org/
|
||
|
[patreon-url]: https://www.patreon.com/denysdovhan
|