# spaceship-prompt **Repository Path**: qhb_coding/spaceship-prompt ## Basic Information - **Project Name**: spaceship-prompt - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-11-25 - **Last Updated**: 2021-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

spaceship โ†’~ prompt
๐Ÿš€โญ Spaceship ZSH

Zsh prompt for Astronauts.

NPM Version GitHub Workflow Status Zsh Version Spaceship Twitter Chat on Discord Donate

Website | Installing | Features | Options | API

Built with โค๏ธŽ by Denys Dovhan and contributors

Spaceship is a minimalistic, powerful and extremely customizable [Zsh][zsh-url] prompt. It combines everything you may need for convenient work, without unnecessary complications, like a real spaceship.

Spaceship with Hyper and One Dark

Visit Troubleshooting for similar setup and find more examples with different color schemes in Screenshots wiki-page. ## Features - Clever hostname and username displaying. - Prompt character turns red if the last command exits with non-zero code. - Current Git branch and rich repo status: - `?` โ€” untracked changes; - `+` โ€” uncommitted changes in the index; - `!` โ€” unstaged changes; - `ยป` โ€” renamed files; - `โœ˜` โ€” deleted files; - `$` โ€” stashed changes; - `=` โ€” unmerged changes; - `โ‡ก` โ€” ahead of remote branch; - `โ‡ฃ` โ€” behind of remote branch; - `โ‡•` โ€” diverged changes. - Current Mercurial bookmark/branch and rich repo status: - `?` โ€” untracked changes; - `+` โ€” uncommitted changes in the index; - `!` โ€” unstaged changes; - `โœ˜` โ€” deleted files; - Indicator for jobs in the background (`โœฆ`). - Current Node.js version, through fnm/nvm/nodenv/n (`โฌข`). - Current Ruby version, through rvm/rbenv/chruby/asdf (`๐Ÿ’Ž`). - Current Elm version (`๐ŸŒณ`) - Current Elixir version, through kiex/exenv/elixir (`๐Ÿ’ง`). - Current Swift version, through swiftenv (`๐Ÿฆ`). - Current Xcode version, through xenv (`๐Ÿ› `). - Current Go version (`๐Ÿน`). - Current PHP version (`๐Ÿ˜`). - Current Rust version (`๐Ÿฆ€`). - Current version of Haskell GHC Compiler, defined in stack.yaml file (`ฮป`). - Current Julia version (`เฎƒ`). - Current Docker version and connected machine (`๐Ÿณ`). - Current Amazon Web Services (AWS) profile (`โ˜๏ธ`) ([Using named profiles](http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html)). - Current Google Cloud Platform gcloud active configuration (`โ˜๏ธ`). - Current Python virtualenv. - Current Conda virtualenv (`๐Ÿ…’`). - Current Python pyenv (`๐Ÿ`). - Current .NET SDK version, through dotnet-cli (`.NET`). - Current Ember.js version, through ember-cli (`๐Ÿน`). - Current Kubectl context (`โ˜ธ๏ธ`). - Current Terraform workspace (`๐Ÿ› `). - Current IBM Cloud account (`๐Ÿ‘”`). - Package version, if there's is a package in current directory (`๐Ÿ“ฆ`). - Current battery level and status: - `โ‡ก` - charging; - `โ‡ฃ` - discharging; - `โ€ข` - fully charged. - Current Vi-mode mode ([with handy aliases for temporarily enabling](./docs/options.md#vi-mode-vi_mode)). - Optional exit-code of last command ([how to enable](./docs/options.md#exit-code-exit_code)). - Optional time stamps 12/24hr in format ([how to enable](./docs/options.md#time-time)). - Execution time of the last command if it exceeds the set threshold. - Optional AWS now supports aws-vault ([aws-vault](https://github.com/99designs/aws-vault)) Want more features? Please, [open an issue](https://github.com/spaceship-prompt/spaceship-prompt/issues/new/choose) or send pull request. **๐Ÿ’ก Tip:** Follow [our Twitter](https://twitter.com/SpaceshipPrompt) to keep yourself updated about new features, improvements, and bugfixes. ## Requirements To work correctly, you will first need: - [`zsh`](http://www.zsh.org/) (v5.2 or recent) must be installed. - [Powerline Font](https://github.com/powerline/fonts) must be installed and used in your terminal (for example, switch font to [Fira Code](https://github.com/tonsky/FiraCode)). ## Installing Now that the requirements are satisfied, you can install Spaceship ZSH via any of the following tools. **๐Ÿ’ก Tip:** If you like this project ~~and want to get some stickers and postcards~~, consider becoming a patron: Become a patron ### [Homebrew] ``` brew install spaceship ``` You can also add the following to your [`Brewfile`](https://github.com/Homebrew/homebrew-bundle#usage): ```ruby brew "spaceship" ``` ### [npm] ``` npm install -g spaceship-prompt ``` Done. This command should link `spaceship.zsh` as `prompt_spaceship_setup` to your `$fpath` and set `prompt spaceship` in `.zshrc`. Just reload your terminal. Ensure that you have enabled post-scripts in npm by `npm config set ignore-scripts false` before starting installation. **๐Ÿ’ก Tip:** Update Spaceship to new versions as you would any other package. ### [oh-my-zsh] 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`. ### [prezto] - 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`. ### [zim] Add `zmodule spaceship-prompt/spaceship-prompt --name spaceship` to your `.zimrc` and run `zimfw install`. ### [antigen] Add the following snippet in your `.zshrc`: ``` antigen theme spaceship-prompt/spaceship-prompt ``` ### [antibody] Update your `.zshrc` file with the following line: ``` antibody bundle spaceship-prompt/spaceship-prompt ``` ### [zinit] Add the following line to your `.zshrc` where you're adding your other Zsh plugins: ``` zinit light spaceship-prompt/spaceship-prompt ``` ### [zgen] Add the following line to your `.zshrc` where you're adding your other Zsh plugins: ``` zgen load spaceship-prompt/spaceship-prompt spaceship ``` ### [zplug] Use this command in your `.zshrc` to load Spaceship as prompt theme: ``` zplug "spaceship-prompt/spaceship-prompt", use:spaceship.zsh, from:github, as:theme ``` ### Linux package manager #### Arch Linux 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 ``` ### Manual If you have problems with approaches above, follow these instructions: - Clone this repo `git clone https://github.com/spaceship-prompt/spaceship-prompt.git --depth=1` - Symlink `spaceship.zsh` to somewhere in [`$fpath`](http://www.refining-linux.org/archives/46/ZSH-Gem-12-Autoloading-functions/) as `prompt_spaceship_setup`. - Initialize prompt system and choose `spaceship`. #### Example Run `echo $fpath` to see possible location and link `spaceship.zsh` there, like: ```zsh $ ln -sf "$PWD/spaceship.zsh" "/usr/local/share/zsh/site-functions/prompt_spaceship_setup" ``` For a user-specific installation, simply add a directory to `$fpath` for that user in `.zshrc`: ```zsh fpath=( "${ZDOTDIR:-$HOME}/.zfunctions" $fpath ) ``` Then install the theme like this: ```zsh $ ln -sf "$PWD/spaceship.zsh" "${ZDOTDIR:-$HOME}/.zfunctions/prompt_spaceship_setup" ``` For initializing prompt system add this to your `.zshrc`: ```zsh # .zshrc autoload -U promptinit; promptinit prompt spaceship ``` ## Customization Spaceship works well out of the box, but you can customize almost everything if you want. - [**Options**](./docs/options.md) โ€” Tweak section's behavior with tons of options. - [**API**](./docs/api.md) โ€” Define a custom section that will do exactly what you want. You have the ability to customize or disable specific elements of Spaceship. Set options and define new sections in your `.zshrc` file, **after** the theme. To include a custom section you have defined in your prompt, add it to the `SPACESHIP_PROMPT_ORDER`. For example: ```shell # .zshrc # add Spaceship (differs by setup, see Installating above) section_mysection() { # ... } SPACESHIP_PROMPT_ORDER=( mysection ) ``` To append custom sections to the default Spaceship prompt, follow the form: ```shell SPACESHIP_PROMPT_ORDER=($SPACESHIP_PROMPT_ORDER mysection) ``` To prepend custom sections to the default Spaceship prompt, follow the form: ```shell SPACESHIP_PROMPT_ORDER=(mysection $SPACESHIP_PROMPT_ORDER) ``` **๐Ÿ’ก Tip:** Take a look at popular option presets or share your own configuration on [Presets](https://github.com/spaceship-prompt/spaceship-prompt/wiki/Presets) wiki page. ## Troubleshooting Having trouble? Take a look at out [Troubleshooting](./docs/troubleshooting.md) page. 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. ## Related Projects Here's a list of related projects that have been inspired by Spaceship ZSH. - [**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. ## Team | [![Denys Dovhan](https://github.com/denysdovhan.png?size=100)](http://denysdovhan.com) | [![Salmanul Farzy](https://github.com/salmanulfarzy.png?size=100)](https://github.com/salmanulfarzy) | [![Maxim Baz](https://github.com/maximbaz.png?size=100)](https://github.com/maximbaz) | [![Runrioter Wung](https://github.com/Runrioter.png?size=100)](https://github.com/Runrioter) | | :------------------------------------------------------------------------------------: | :--------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------: | :------------------------------------------------------------------------------------------: | | [Denys Dovhan](https://github.com/denysdovhan) | [Salmanul Farzy](https://github.com/salmanulfarzy) | [Maxim Baz](https://github.com/maximbaz) | [Runrioter Wung](https://github.com/Runrioter) | ## Donate Hi! I work on this project in my spare time, in addition to my primary job. I hope you enjoy using Spaceship ZSH. If you do, please, [become my patron ๐Ÿค][patreon-url]. | Patreon | Bitcoin | Ethereum | | :--------------------------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: | :----------------------------------------------------------------------------------------------------------------------------: | | [Become a patron][patreon-url] | `1FrPrQb6ACTkbSBAz9PduJWrDFfq41Ggb4` | `0x6aF39C917359897ae6969Ad682C14110afe1a0a1` | | | | | This is your way make a clear statement: **My work is valued.** I would appreciate your support! _Thank you!_ ## License MIT ยฉ [Denys Dovhan](http://denysdovhan.com) [npm-url]: https://npmjs.org/package/spaceship-prompt [npm-image]: https://img.shields.io/npm/v/spaceship-prompt.svg?style=flat-square [zsh-url]: http://zsh.org/ [zsh-image]: https://img.shields.io/badge/zsh-%3E%3Dv5.2-777777.svg?style=flat-square [patreon-url]: https://www.patreon.com/denysdovhan [patreon-image]: https://img.shields.io/badge/zsh-%3E%3Dv5.2-777777.svg?style=flat-square [oh-my-zsh]: http://ohmyz.sh/ [prezto]: https://github.com/sorin-ionescu/prezto [zim]: https://github.com/zimfw/zimfw [antigen]: http://antigen.sharats.me/ [zgen]: https://github.com/tarjoilija/zgen [npm]: https://www.npmjs.com/ [antibody]: https://github.com/getantibody/antibody [zplug]: https://github.com/zplug/zplug [homebrew]: https://brew.sh [n]: https://github.com/tj/n [xcenv]: http://xcenv.org/ [swiftenv]: https://github.com/kylef/swiftenv [powerline]: https://github.com/powerline/fonts [zinit]: https://github.com/zdharma/zinit