Pure
Pretty, minimal and fast ZSH prompt
Overview
Most prompts are cluttered, ugly and slow. I wanted something visually pleasing that stayed out of my way.
Why?
- Comes with the perfect prompt character. Author went through the whole Unicode range to find it.
- Shows
git
branch and whether it's dirty using the fastest method available. - Prompt character turns red if the last command didn't exit with
0
. - Command execution time will be displayed if it exceeds the set threshold.
- Username and host only displayed when in an SSH session.
- Shows the current path in the title and the current directory and command when a process is running.
- Makes an excellent starting point for your own custom prompt.
Install
Can be installed with npm
or manually.
npm
$ npm install --global pure-prompt
That's it. Skip to Getting started.
Manually
- Either…
- Clone this repo
- add it as a submodule, or
- just download
pure.zsh
- Symlink
pure.zsh
to somewhere in$fpath
with the nameprompt_pure_setup
.
Example
$ ln -s "$PWD/pure.zsh" /usr/local/share/zsh/site-functions/prompt_pure_setup
Run echo $fpath
to see possible locations.
For a user-specific installation (which would not require escalated privileges), simply add a directory to $fpath
for that user:
# .zshenv or .zshrc
fpath=( "$HOME/.zfunctions" $fpath )
Then install the theme there:
$ ln -s "$PWD/pure.zsh" "$HOME/.zfunctions/prompt_pure_setup"
Getting started
Initialize the prompt system (if not so already) and choose pure
:
# .zshrc
autoload -U promptinit && promptinit
prompt pure
Options
PURE_CMD_MAX_EXEC_TIME
The max execution time of a process before its run time is shown when it exits. Defaults to 5
seconds.
PURE_GIT_PULL
Set PURE_GIT_PULL=0
to prevent Pure from checking whether the current Git remote has been updated.
Example
# .zshrc
autoload -U promptinit && promptinit
# optionally define some options
PURE_CMD_MAX_EXEC_TIME=10
prompt pure
Tips
Tomorrow Night Eighties theme with the Droid Sans Mono font (15pt) is a beautiful combination, as seen in the screenshot above. Just make sure you have anti-aliasing enabled in your Terminal.
Integration
oh-my-zsh
Symlink (or copy) pure.zsh
to ~/.oh-my-zsh/custom/pure.zsh-theme
and add ZSH_THEME="pure"
to your .zshrc
file.
prezto
Symlink (or copy) pure.zsh
to ~/.zprezto/modules/prompt/functions/prompt_pure_setup
alongside Prezto's other prompts. Then set zstyle ':prezto:module:prompt' theme 'pure'
in ~/.zpreztorc
.
antigen
Add antigen bundle sindresorhus/pure
to your .zshrc file (do not use the antigen theme
function).