Port of the `pure` ZSH prompt to Fish 🐟
Clone or download
Latest commit 2cfbefb Jul 25, 2018


pure Fish Shell Version Build Status

Port of the pure ZSH theme to Fish 🐟



Via cURL:

$ # Download the installer to `/tmp`
$ curl -Ls https://raw.github.com/rafaelrinaldi/pure/master/installer.fish > /tmp/pure_installer.fish
$ # Source and trigger the installer
$ source /tmp/pure_installer.fish; and install_pure


$ fisher rafaelrinaldi/pure

Oh My Fish!

$ omf install pure


  • Fully customizable
  • Display current directory tail
  • Display Git branch name
  • Display whether or not the working copy is dirty
  • Display ⇑ if there are stuff to be pushed
  • Display ⇣ if there are stuff to be pulled
  • Display prompt symbol in red if previous command has failed
  • Display the current folder and command when a process is running
  • Display username and host when in an SSH session
  • Display duration of failed process (defaults to 5)
  • Display python virtualenv name if activated


You can tweak pretty much everything in pure by overriding variables in your config.fish file:

# Change the prompt text
set pure_symbol_prompt "~>"
set pure_symbol_git_down_arrow "v"
set pure_symbol_git_up_arrow "^"
set pure_symbol_git_dirty "!"
set pure_symbol_horizontal_bar "_"

# Change the colors
set pure_color_blue (set_color "1e00fd")
set pure_color_cyan (set_color "1e95fd")
set pure_color_gray (set_color "6c6c6c")
set pure_color_green (set_color "66ff66")
set pure_color_normal (set_color "000000")
set pure_color_red (set_color "f820ff")
set pure_color_yellow (set_color "1bc8c8")

# Change colors for username and host in SSH
set pure_username_color $pure_color_yellow
set pure_host_color $pure_color_green
set pure_root_color $pure_color_red

# Change where the username and host is displayed
# 0 - end of prompt, default
# 1 - start of prompt
# Any other value defaults to the default behaviour
set pure_user_host_location 1

# Show exit code of last command as a separate prompt character. As described here: https://github.com/sindresorhus/pure/wiki#show-exit-code-of-last-command-as-a-separate-prompt-character
# 0 - single prompt character, default
# 1 - separate prompt character
# Any other value defaults to the default behaviour
set pure_separate_prompt_on_error 1

# Max execution time of a process before its run time is shown when it exits
set pure_command_max_exec_time 5


requirements: fishtape.

fishtape tests/*.test.fish


Kudos to all our awesome πŸ’› contributors πŸ’›


MIT Β© Rafael Rinaldi

Buy me a β˜•