/hydro

Ultra-pure, lag-free prompt with async Git status. Designed for Fish.

Primary LanguageShellMIT LicenseMIT

Hydro

Ultra-pure, lag-free prompt with async Git status. Designed for Fish.

Installation

Install with Fisher:

fisher install jorgebucaran/hydro

Features

One prompt symbol to rule them all. Change it.

~ ❱ ⎢

Show Git branch name and status—prompt repaints asynchronously! ✨

~/p/hydro main ❱ touch Solution
~/p/hydro main• ❱ ⎢

indicates that there are staged, unstaged or untracked files.

Show how many commits you're ahead and/or behind of your upstream—prompt repaints asynchronously! ✨

~/p/hydro main• ↓2 ❱ git commit -am Hotfix
~/p/hydro main ↑1 ↓2 ❱ git pull --rebase && git push
~/p/hydro main ❱ ⎢

Show $CMD_DURATION if > 1 second.

~/p/hydro main ❱ git push --quiet
~/p/hydro main 1.1s ❱ ⎢

Show the last $pipestatus.

~/p/hydro main ❱ false
~/p/hydro main ❱ [1]
~/p/hydro main ❱ true | false | false
~/p/hydro main [0ǀ1ǀ1] ⎢

Truncate $PWD segments except for the basename and root of Git repos.

~ ❱ projects/hydro/
~/p/hydro ❱ functions/share/
~/p/hydro/f/share ❱ ⎢

Show current bindings mode.

I ~Esc
N ~R
R ~ ❱ ⎢

We even set the terminal title to $PWD and the currently running command for you.

fish ~/projects/hydro

Performance

Blazing fast would be an understatement considering that the LLVM repo has over 375,000 commits!

~/llvm-project main ❱ time fish_prompt
~/llvm-project main ❱
________________________________________________________
Executed in   79.00 micros    fish           external
   usr time   71.00 micros   71.00 micros    0.00 micros
   sys time    9.00 micros    9.00 micros    0.00 micros

Configuration

Modify variables using set --universal from the command line or set --global in your config.fish file.

Symbols

Variable Type Description Default
hydro_symbol_prompt string Prompt symbol.
hydro_symbol_git_dirty string Dirty repository symbol.
hydro_symbol_git_ahead string Ahead of your upstream symbol.
hydro_symbol_git_behind string Behind of your upstream symbol.

Colors

Any argument accepted by set_color.

Variable Type Description Default
hydro_color_pwd color Color of the pwd segment. $fish_color_normal
hydro_color_git color Color of the git segment. $fish_color_normal
hydro_color_error color Color of the error segment. $fish_color_error
hydro_color_prompt color Color of the prompt symbol. $fish_color_normal
hydro_color_duration color Color of the duration section. $fish_color_normal

Flags

Variable Type Description Default
hydro_fetch boolean Fetch git remote in the background. false
hydro_multiline boolean Display prompt character on a separate line. false

Misc

Variable Type Description Default
fish_prompt_pwd_dir_length numeric The number of characters to display when path shortening. Set it to 0 to display only the topmost (current) directory. 1
hydro_ignored_git_paths strings Space separated list of paths where no git info should be displayed ""

License

MIT