• Stars
    star
    609
  • Rank 73,614 (Top 2 %)
  • Language
    Shell
  • License
    MIT License
  • Created almost 6 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ultra-pure, lag-free prompt with async Git status—just for Fish

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

License

MIT

More Repositories

1

hyperapp

1kB-ish JavaScript framework for building hypertext applications
JavaScript
19,043
star
2

fisher

A plugin manager for Fish
Shell
7,560
star
3

awsm.fish

A curation of prompts, plugins & other Fish treasures 🐚💎
4,066
star
4

nvm.fish

The Node.js version manager you'll adore, crafted just for Fish
Shell
2,033
star
5

cookbook.fish

From Shell to Plate: Savor the Zest of Fish 🦞
2,002
star
6

colorette

🌈Easily set your terminal text color & styles
JavaScript
1,595
star
7

superfine

Absolutely minimal view layer for building web interfaces
JavaScript
1,564
star
8

classcat

Build a class attribute string quickly
JavaScript
905
star
9

getopts

Node.js CLI options parser
JavaScript
633
star
10

hyperawesome

A curated list of awesome projects built with Hyperapp + more
492
star
11

replay.fish

Run Bash commands, replay changes in Fish 🍤
Shell
392
star
12

twist

Declarative JavaScript Testing
JavaScript
378
star
13

autopair.fish

Auto-complete matching pairs in the Fish command line
Shell
369
star
14

fishtape

100% pure-Fish test runner
Shell
345
star
15

spark.fish

▁▂▄▆▇█▇▆▄▂▁
Shell
335
star
16

hyperapp-router

Declarative routing for Hyperapp V1 using the History API.
JavaScript
257
star
17

getopts.fish

Parse CLI options in Fish
Shell
220
star
18

gitio.fish

Create a custom git.io URL
Shell
88
star
19

hyperapp-html

Html helper functions for Hyperapp V1
JavaScript
81
star
20

pyenv

Pyenv support plugin for fish-shell
Shell
62
star
21

humantime.fish

Turn milliseconds into a human-readable string in Fish
Shell
21
star
22

.github

My health files
1
star
23

jorgebucaran.github.io

HTML
1
star