Purist
A ZSH prompt for purists
Overview
purist is a soft-spoken but eloquent ZSH prompt. Forked from
sindresorhus/pure.
Details
- Comes without prompt character.
- Shows
git branch and whether it's dirty (with a red â).
- Indicates when you have unpushed/unpulled
git commits with up/down arrows. (Check is done asynchronously!)
- 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 when a process is running.
Install
Can be installed with npm or manually. Requires git 2.0.0+ and ZSH 5.0.0+.
npm
$ npm install --global purist
That's it. Skip to Getting started.
Manually
- Clone this repo
- add it as a submodule, or
- just download
purist.zsh and async.zsh
Example
$ ln -s "$PWD/purist.zsh" /usr/local/share/zsh/site-functions/prompt_purist_setup
$ ln -s "$PWD/async.zsh" /usr/local/share/zsh/site-functions/async
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:
fpath=( "$HOME/.zfunctions" $fpath )
Then install the theme there:
$ ln -s "$PWD/purist.zsh" "$HOME/.zfunctions/prompt_purist_setup"
$ ln -s "$PWD/async.zsh" "$HOME/.zfunctions/async"
Getting started
Initialize the prompt system (if not so already) and choose purist:
autoload -U promptinit && promptinit
prompt purist
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 Purist from checking whether the current Git remote has been updated.
PURE_GIT_UNTRACKED_DIRTY
Set PURE_GIT_UNTRACKED_DIRTY=0 to not include untracked files in dirtiness check. Only really useful on extremely huge repos like the WebKit repo.
PURE_GIT_DELAY_DIRTY_CHECK
Time in seconds to delay git dirty checking for large repositories (git status takes > 2 seconds). The check is performed asynchronously, this is to save CPU. Defaults to 1800 seconds.
PURE_PROMPT_SYMBOL
Defines the prompt symbol. The default value is .
PURE_GIT_DOWN_ARROW
Defines the git down arrow symbol. The default value is âŁ.
PURE_GIT_UP_ARROW
Defines the git up arrow symbol. The default value is âĄ.
Example
autoload -U promptinit && promptinit
PURE_CMD_MAX_EXEC_TIME=10
prompt purist
Tips
In the screenshot you see Purist running in HyperTerm with the hyperterm-one-light theme and Menlo font.
To have commands colorized as seen in the screenshot, install zsh-syntax-highlighting.
Related
License
MIT Š Bram Kok