Spacefish is a minimalistic, powerful and extremely customizable Fish Shell prompt. It combines everything you may need for convenient work, without unnecessary complications, like a real spacefish.
Vist Troubleshooting for instructions to recreate this terminal setup.
## Features
* Clever hostname and username displaying.
* Indicator if user is root.
* 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.
* Indicator for jobs in the background (`โฆ`).
* Current Node.js version, through nvm/nodenv/n (`โฌข`).
* Current Docker version and connected machine (`๐ณ`).
* Current Ruby version, through rvm/rbenv/chruby/asdf (`๐`).
* Current Go version (`๐น`).
* Current PHP version (`๐`).
* Current Rust version (`๐ฅ`).
* Current version of Haskell GHC Compiler, defined in stack.yaml file (`ฮป`).
* Current Julia version (`เฎ`).
* Current Amazon Web Services (AWS) profile (`โ๏ธ`) ([Using named profiles](http://docs.aws.amazon.com/cli/latest/userguide/cli-multiple-profiles.html)).
* Current Python virtualenv.
* Current Conda version (`๐ `).
* Current Elixir Version (`๐ง`).
* Current Python pyenv (`๐`).
* Current .NET SDK version, through dotnet-cli (`.NET`).
* Current Kubectl context (`โธ๏ธ`).
* Package version, if there is a package in current directory (`๐ฆ`).
* Current battery level and status:
* `โก` - charging;
* `โฃ` - discharging;
* `โข` - fully charged.
* Current Vi-mode mode.
* Optional exit-code of last command.
* Optional time stamps 12/24hr in format.
* Execution time of the last command if it exceeds 5 seconds.
Want more features? Please [open an issue](https://github.com/matchai/spacefish/issues/new?template=Feature_request.md) or send pull request!
## Requirements
To get spacefish working correctly, you will need:
* [`fish`][fish] (v2.7.0 or newer)
* [Powerline Font](https://github.com/powerline/fonts) must be installed and enabled in your terminal.
## Installation
### [Fisher](https://github.com/jorgebucaran/fisher)
```fish
$ fisher add matchai/spacefish
```
### [Oh My Fish!](https://github.com/oh-my-fish/oh-my-fish)
```fish
$ omf install spacefish
```
## Customization
Spacefish works really well out of the box, but you can customize your fish to your heart's content!
* [**Options**](./docs/Options.md) โ Tweak section's behavior with tons of options.
You have the ability to customize or disable specific elements of Spacefish. All options must be overridden in your `config.fish`.
## Troubleshooting
Having issues? Take a look at our [Troubleshooting](./docs/Troubleshooting.md) page.
Still struggling? Please [file an issue](https://github.com/matchai/spacefish/issues/new?template=Support_question.md), describe your problem, and we will gladly help you.
## Contributors
Thanks goes to these wonderful people ([emoji key](https://github.com/kentcdodds/all-contributors#emoji-key)):
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
## License
MIT ยฉ [Matan Kushner](http://matchai.me)
[spaceship]: https://github.com/denysdovhan/spaceship-prompt
[fish]: https://fishshell.com
[zsh]: http://zsh.org