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?
~ ❱ ⎢
Display 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.
Display how many commits ahead and/or behind you are 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 ❱ ⎢
Display $CMD_DURATION
when > 1
second. Configurable.
~/p/hydro main ❱ git push --quiet ~/p/hydro main 1.1s ❱ ⎢
Display the last non-zero exit status (or statuses) using $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 ❱ ⎢
Display the current bindings mode.
I ~ ❱ Esc N ~ ❱ R R ~ ❱ ⎢
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. | "" |
hydro_cmd_duration_threshold |
numeric | Minimum command duration, in milliseconds, after which command duration is displayed. | 1000 |