zsh-rust-git-prompt
A bare-bones Git prompt for zsh implemented in Rust for speed (and as a learning exercise).
Configuration is rudimentary because I figured “how often am I going to change the appearance of my Git prompt?”
Features
- Automatically detects Git repositories and only displays the prompt when inside one.
- Includes the following Git status information:
- current branch
- commits ahead/behind remote
- number of stashes (if any)
- number of staged files (if any)
- number of changed files (if any)
- number of conflicting files (if any)
- number of untracked files (if any)
- number of ignored files (if any)
- Basic format configuration via constants in the code.
- Partial ANSI formatting support (currently only the ones I use).
Dependencies
- Rust (compilation).
- Your favourite Nerd Font.
Installation
Configuration
- Changing the configuration requires a rebuild (
cargo build --release
) and reinstall.
- The strings used to generate the various components of the status line can be modified by changing the constants at the top of
main.rs
.
- The format of the status line can be modified by changing the format strings at the bottom of
main.rs
.
- There is only partial support for ANSI formatting codes at present, provided by the
*_style()
functions.