Ultra-pure, lag-free prompt with async Git status. Designed for Fish. Forked from jorgebucaran/hydro on 20240402
Qwil is my personal copy of hydro. Additional features:
- Show if in a toolbox container.
~ ⬢ ❱ ⎢
Install with Fisher:
fisher install Nequo/qwil
One prompt symbol to rule them all. Change it?
~ ❱ ⎢
Display Git branch name and status—prompt repaints asynchronously! ✨
~/p/qwil main ❱ touch Solution ~/p/qwil 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/qwil main• ↓2 ❱ git commit -am Hotfix ~/p/qwil main ↑1 ↓2 ❱ git pull --rebase && git push ~/p/qwil main ❱ ⎢
Display $CMD_DURATION
when > 1
second. Configurable.
~/p/qwil main ❱ git push --quiet ~/p/qwil main 1.1s ❱ ⎢
Display the last non-zero exit status (or statuses) using $pipestatus
.
~/p/qwil main ❱ false ~/p/qwil main | 1 ❱ ⎢ ~/p/qwil main ❱ true | false | false ~/p/qwil main | 0 1 1 ❱ ⎢
Truncate $PWD
segments except for the basename and root of Git repos.
~ ❱ projects/qwil/ ~/p/qwil ❱ functions/share/ ~/p/qwil/f/share ❱ ⎢
Display the current bindings mode.
I ~ ❱ Esc N ~ ❱ R R ~ ❱ ⎢
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
Modify variables using set --universal
from the command line or set --global
in your config.fish
file.
Variable | Type | Description | Default |
---|---|---|---|
qwil_symbol_prompt |
string | Prompt symbol. | ❱ |
qwil_symbol_git_dirty |
string | Dirty repository symbol. | • |
qwil_symbol_git_ahead |
string | Ahead of your upstream symbol. | ↑ |
qwil_symbol_git_behind |
string | Behind of your upstream symbol. | ↓ |
Any argument accepted by
set_color
.
Variable | Type | Description | Default |
---|---|---|---|
qwil_color_pwd |
color | Color of the pwd segment. | $fish_color_normal |
qwil_color_git |
color | Color of the git segment. | $fish_color_normal |
qwil_color_error |
color | Color of the error segment. | $fish_color_error |
qwil_color_prompt |
color | Color of the prompt symbol. | $fish_color_normal |
qwil_color_duration |
color | Color of the duration section. | $fish_color_normal |
qwil_color_toolbox |
color | Color of the toolbox section. | cyan |
Variable | Type | Description | Default |
---|---|---|---|
qwil_fetch |
boolean | Fetch git remote in the background. | false |
qwil_multiline |
boolean | Display prompt character on a separate line. | false |
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 |
qwil_ignored_git_paths |
strings | Space separated list of paths where no git info should be displayed. | "" |
qwil_cmd_duration_threshold |
numeric | Minimum command duration, in milliseconds, after which command duration is displayed. | 1000 |