Skip to content

rodrigorm/pure

This branch is 7 commits ahead of, 295 commits behind sindresorhus/pure:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

d87d742 · Nov 17, 2016

History

97 Commits
Feb 19, 2014
Sep 5, 2014
Sep 5, 2014
Sep 5, 2014
Aug 9, 2014
Nov 17, 2016
Jun 22, 2014
Aug 9, 2014
Sep 15, 2014
Sep 6, 2013
May 29, 2014

Repository files navigation

Pure

Pretty, minimal and fast ZSH/Bash prompt

screenshot

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 (with a *).
  • Indicates when you have unpushed/unpulled git commits with up/down arrows.
  • 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.
  • 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

For zsh

  1. Either…
  • Clone this repo
  • add it as a submodule, or
  • just download pure.zsh
  1. Symlink pure.zsh to somewhere in $fpath with the name prompt_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"

For bash

  1. Either…
  • Clone this repo
  • add it as a submodule, or
  • just download pure.bash
  1. Put it on anywhere you like.

Getting started

Initialize the prompt system (if not so already) and choose pure:

# .zshrc
autoload -U promptinit && promptinit
prompt pure
# .bashrc
source "pure.bash"

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.

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.

Example

# .zshrc

autoload -U promptinit && promptinit

# optionally define some options
PURE_CMD_MAX_EXEC_TIME=10

prompt pure
# .bashrc

# optionally define some options
PURE_CMD_MAX_EXEC_TIME=10

source "pure.bash"

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.

To have commands colorized as seen in the screenshot install zsh-syntax-highlighting.

Integration

Symlink (or copy) pure.zsh to ~/.oh-my-zsh/custom/pure.zsh-theme and add ZSH_THEME="pure" to your .zshrc file.

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.

Add antigen bundle sindresorhus/pure to your .zshrc file (do not use the antigen theme function).

License

MIT © Sindre Sorhus

About

Pretty, minimal and fast ZSH prompt

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Shell 100.0%