diff --git a/README.md b/README.md
index 7536ab48..a69f8484 100644
--- a/README.md
+++ b/README.md
@@ -10,112 +10,88 @@
-> ⚠️ Starship is still a work in progress but is now far enough along to be used as a prompt (I personally use it as my daily driver)
+
-## Development plans +## Features -The project is beginning as a port of Spaceship ZSH, but will be improved in areas where Spaceship ZSH was previously limited: +- 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 Node.js version(`⬢`). +- Current Rust version (`🦀`). +- Current Python version (`🐍`). +- Current Go version (`🐹`). +- Package version of package in current directory (`📦`). +- 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 +- [PLANNED #80](https://github.com/starship/starship/issues/80) – Indicator for jobs in the background (`✦`). +- [PLANNED #104](https://github.com/starship/starship/issues/104) – Execution time of the last command if it exceeds the set threshold. -- Speed -- Concurrency of segment logic execution - - Memoization of expensive operations -- Safety and error handling -- Testability of code -- Configuration - - Cross-shell support with JSON or TOML config files - -We will _not_ be aiming to achieve full parity with Spaceship ZSH as a result, so I am very open to discussing and reevaluating new solutions and ideas for the prompt. - -I'm very new to Rust, so any help is appreciated when it comes to improving development patterns, writing idiomatic Rust, performance, safety, etc. 😄 - -### Prompt segments - -- [x] Prompt character turns red if the last command exits with non-zero code. -- [x] Current Node.js version(`⬢`). -- [x] Current Rust version (`🦀`). -- [x] Current Python version (`🐍`). -- [x] Current Go version (`🐹`). -- [x] Package version of package in current directory (`📦`). -- [x] Current battery level and status -- [x] 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 -- [ ] Indicator for jobs in the background (`✦`). -- [ ] Execution time of the last command if it exceeds the set threshold. - -### Other features - -- [x] `starship.toml` configuration -- [ ] Custom sections given commands or binaries - -### Shell support - -- [x] Fish shell -- [x] Z Shell -- [x] Bash - -### Test strategy - -- [ ] Per-segment benchmarking -- [x] Per-segment unit + integration tests -- [x] Shell + OS matrix acceptance tests - -## Setup +## Installation ### Prerequisites -- Rust v1.33 or higher -- A Powerline font (like [Fira Code](https://github.com/tonsky/FiraCode)) installed and enabled in your terminal emulator +- [Rust](https://rustup.rs/) v1.33 or higher +- 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: - ```bash - cargo install starship - ``` + ```sh + cargo install starship + ``` 1. Add the init script to your shell's config file: - #### Bash / Zsh + #### Bash / Zsh - Add the following to the end of `~/.bashrc` or `~/.zshrc`: + Add the following to the end of `~/.bashrc` or `~/.zshrc`: - ```bash - # ~/.bashrc or ~/.zshrc - - eval "$(starship init $0)" - ``` + ```sh + # ~/.bashrc or ~/.zshrc - #### Fish + eval "$(starship init $0)" + ``` - Add the following to the end of `~/.config/fish/config.fish`: + #### Fish - ```fish - # ~/.config/fish/config.fish + Add the following to the end of `~/.config/fish/config.fish`: - eval (starship init fish) - ``` + ```sh + # ~/.config/fish/config.fish + + eval (starship init fish) + ``` ## Configuration -> 🚧 Configuration features and documentation are in the process of being developed +For details on how to configure Starship, check out our [documentation](https://starship.rs/config/). -## Contributors +## Contribution + +If you are interested in helping contribute to starship, please take a look at our [Contributing Guide](./CONTRIBUTING.md). Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): @@ -136,3 +112,14 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome! + +
+
+
+