@cwanner/lambda-pure-prompt v1.0.1
λ Pure
Pretty, minimal and fast ZSH prompt based on Pure
Fork
This is a fork of marszall87/lambda-pure with following changes:
- Updated async.zsh so it works with newer versions of zsh
- Change default git arrows to the original ones: ⇣ and ⇡
- Add the current time to the end of the prompt
- Resets last exit code on an empty command
Overview
Most prompts are cluttered, ugly and slow. I wanted something visually pleasing that stayed out of my way.
Why?
- Comes with the
λprompt character. Because lambdas are cool. - Shows
gitbranch and whether it's dirty (with a×). - Indicates when you have unpushed/unpulled
gitcommits with up/down triangles. (Check is done asynchronously!) - Shows current NodeJS version on the right side. (Check is done asynchronously!)
- 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 folder & command 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 @cwanner/lambda-pure-promptThat's it. Skip to Getting started.
Manually
- Either…
- Clone this repo
- add it as a submodule, or
- just download
lambda-pure.zshandasync.zsh
Symlink
lambda-pure.zshto somewhere in$fpathwith the nameprompt_lambda-pure_setup.Symlink
async.zshin$fpathwith the nameasync.
Example
$ ln -s "$PWD/lambda-pure.zsh" /usr/local/share/zsh/site-functions/prompt_lambda-pure_setup
$ ln -s "$PWD/async.zsh" /usr/local/share/zsh/site-functions/asyncRun 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/lambda-pure.zsh" "$HOME/.zfunctions/prompt_lambda-pure_setup"
$ ln -s "$PWD/async.zsh" "$HOME/.zfunctions/async"Getting started
Initialize the prompt system (if not so already) and choose lambda-pure:
# .zshrc
autoload -U promptinit; promptinit
prompt lambda-pureOptions
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.
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 ⇡.
PURE_GIT_DIRTY
Defines the git dirty symbol. The default value is ×.
Example
# .zshrc
autoload -U promptinit; promptinit
# optionally define some options
PURE_CMD_MAX_EXEC_TIME=10
prompt lambda-pureIntegration
oh-my-zsh
- Symlink (or copy)
lambda-pure.zshto~/.oh-my-zsh/custom/themes/lambda-pure.zsh-theme. - Set
ZSH_THEME="lambda-pure"in your.zshrcfile.
antigen
Update your .zshrc file with the following two lines (order matters). Do not use the antigen theme function.
$ antigen bundle mafredri/zsh-async
$ antigen bundle marszall87/lambda-pureantibody
Update your .zshrc file with the following two lines (order matters):
$ antibody bundle mafredri/zsh-async
$ antibody bundle marszall87/lambda-purezgen
Update your .zshrc file with the following two lines (order matters):
$ zgen load mafredri/zsh-async
$ zgen load marszall87/lambda-pureLicense
MIT © Cyril Wanner based on Michał Nykiel and Pure by Sindre Sorhus