โฌ๏ธ Hey! Want to migrate from v3.x to v4.x? Check our migration guide, done with :heart
pure
Pretty, minimal and fast Fish
๐ prompt, ported fromzsh
.
๐ Install
โฅ3.x
Fisher
fisher install pure-fish/pure
Manually
Via cURL:
# Download the installer to `/tmp`
curl git.io/pure-fish --output /tmp/pure_installer.fish --location --silent
# Source and trigger the installer
source /tmp/pure_installer.fish; and install_pure
Features
Fully customizable (colors, symbols and features):
- Excellent prompt character
โฏ
:- Change
โฏ
to red when previous command has failed ; - Start prompt with current working directory
๐ด ; - Compact-mode (single-line prompt)
๐ด ;
- Change
- Display current directory tail ;
- check for new release on start
๐ด ; - Display username and hostname when in an
SSH
session ; - Display command duration when longer than
5
seconds ; - Display
Python
virtualenv when activated ; - Display
VI
mode and custom symbol for non-insert mode๐ด ; - Show system time
๐ด ; - Show number of running jobs
๐ด ; - Prefix when
root
๐ด ; - Display
git
branch name๐ด ;- Display
*
whengit
repository is dirty ; - Display
โก
whengit
repository is stashed ; - Display
โก
when branch is ahead (commits to push) ; - Display
โฃ
when branch is behind (commits to pull) ; - Async update when configured with fish-async-prompt ;
- Display
- Update terminal title with current folder and command ;
- Detect when running in a container
๐๏ธ Configuration
You can tweak pure
behavior and color by changing universal variables either directly in the terminal or in your config.fish
, e.g.:
set --universal pure_show_system_time true
set --universal pure_color_system_time pure_color_mute
Prompt Symbol
Option | Default | Description |
---|---|---|
pure_symbol_git_dirty |
* |
Repository is Dirty (uncommitted/untracked changes). |
pure_symbol_git_stash |
โก |
Repository git stash status. |
pure_symbol_git_unpulled_commits |
โฃ |
Branch is behind upstream (commits to pull). |
pure_symbol_git_unpushed_commits |
โก |
Branch is ahead upstream (commits to push). |
pure_symbol_prefix_root_prompt |
# |
Prefix prompt when logged in as root . |
pure_symbol_prompt |
โฏ |
Prompt symbol. |
pure_symbol_reverse_prompt |
โฎ |
VI non-insert mode symbol. |
pure_symbol_title_bar_separator |
- |
Separator in terminal's windows title. |
โน๏ธ Need safergit
symbols?
๐ Features' Flags
Option | Default | Description |
---|---|---|
pure_begin_prompt_with_current_directory |
true |
true : pwd git , SSH , duration.false : SSH pwd git , duration. |
pure_check_for_new_release |
false |
true : check repo for new release (on every shell start) |
pure_enable_git |
true |
Show info about Git repository. |
pure_enable_container_detection |
true |
false : Do not check if run in container (e.g. docker , podman , LXC /LXD , etc.). |
pure_enable_single_line_prompt |
false |
true : Compact prompt as a single line |
pure_reverse_prompt_symbol_in_vimode |
true |
true : โฎ indicate a non-insert mode.false : indicate vi mode with [I] , [N] , [V] . |
pure_separate_prompt_on_error |
false |
Show last command exit code as a separate character. |
pure_show_jobs |
false |
Show Number of running jobs |
pure_show_prefix_root_prompt |
false |
true : shows prompt prefix when logged in as root . |
pure_show_subsecond_command_duration |
false |
Show subsecond (ex. 1.5s) in command duration. |
pure_show_system_time |
false |
true : shows system time before the prompt symbol (as %H:%M:%S ). |
pure_threshold_command_duration |
5 |
Show command duration when above this value (seconds). |
๐จ Colours
โน๏ธ Seeset_color
documentation for full possibilities.
โ ๏ธ The absence of$
sign is expected inpure_
named colours.
Base Color | Inherited by | Default |
---|---|---|
pure_color_danger |
pure_color_prompt_on_error |
red |
pure_color_dark |
black |
|
pure_color_info |
pure_color_git_unpulled_commits pure_color_git_unpushed_commits |
cyan |
pure_color_light |
pure_color_username_root |
white |
pure_color_mute |
pure_color_git_branch pure_color_git_dirty pure_color_git_stash pure_color_hostname pure_color_at_sign pure_color_username_normal pure_color_virtualenv |
brblack |
pure_color_normal |
pure_color_jobs |
normal |
pure_color_primary |
pure_color_current_directory |
blue |
pure_color_success |
pure_color_prompt_on_success |
magenta |
pure_color_warning |
pure_color_command_duration |
yellow |
๐ Contribute
requirements:
docker
(isolate from your environment)
Specify the FISH_VERSION
you want, and the CMD
executed by the container:
make build-pure-on FISH_VERSION=3.3.1
make dev-pure-on FISH_VERSION=3.3.1 CMD="fishtape tests/*.test.fish"
๐จโ๐ป Maintainer
๐ Thanks
- @andreiborisov for the docker images ;
- @jorgebucaran for fishtape ;
- @rafaelrinaldi for starting the project ;