Pumped Up Prompt
Pumped Up Prompt is a set of solutions to improve your shell experience. It contains:
- Custom segmented shell prompt;
- Fonts with segment separators and icons*;
- Optional improvements.
*Font separators use the same Unicode places as Powerline Patched fonts (e.g. Nerd Fonts).
Features
Light 🎈
Pure bash. No hidden engines in the background. Fast even in huge projects.
Beautiful
All the separators are handcrafted and pixel-perfect. Enjoy the smoothness.
Hard to pronounce 🤔
Not really a feature, but... you can use it as a tongue twister!
Previews
Terminal: iTerm2
Theme: Solarized Dark
Font: Menlo PP15
Installation
1. Prompt:
- Copy
pumpt-up-prompt.sh
to your root directory; - Include pumpt-up-prompt script to your
.bash_profile
by adding:
[[ -f ~/pumpt-up-prompt.sh ]] && . ~/pumpt-up-prompt.sh
or just copy the.bash_profile
file from this repo.
2. Font (separators and icons):
- Download your favorite font from the
Fonts
folder; - Choose a font depending on the font size you are using, ex. take Menlo PP15 if you are using 15pt font size in your terminal.
3. Git Prompt Plugin:
Copy git-prompt.sh
and git-completion.bash
from Git Prompt Plugin to your home directory;
4. [Optional] Install the latest Bash version:
- Install Homebrew:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Install Bash:
brew install bash
- Add the new shell to the list of allowed shells:
sudo bash -c 'echo /usr/local/bin/bash >> /etc/shells'
- Change your shell to the new shell:
chsh -s /usr/local/bin/bash
5. [Optional] Install a better bash default configuration with Sensible Bash
6. [Optional] Copy .screenrc
to your root directory to enable Pumped Up Prompt inside bash screen sessions.
7. [Optional] Copy .bash_aliases
to your root directory to get some useful aliases from Oh My Zsh.
Segments
Segments' color, order and icons are changed in the 'Settings' block inside pumpt-up-prompt.sh
.
Segment | Description |
---|---|
time | Current time |
user | User name |
host | Host name |
dir | Directory |
git | Git branch (commit) |
venv | Activated Python virtual environment name |
ssh | SSH host name |
screen | Current screen name |
Terminals
Notes on using Pumpt up Prompt with different terminal emulators:
iTerm
Pumpt up Prompt was originally developed for iTerm2, there should be no problems.
Hyper
Hyper treats characters as a browser (which differs from how iTerm does it), so separators won't align perfectly. Fortunately, you can easily fix it by adding some CSS to Hyper settings (⌘ + ,).
Start with this configuration:
// custom css to embed in the terminal window
termCSS: '.unicode-node { margin-left: -1px; padding-right: 1px; overflow: hidden; }',
Then add line-height
(1.2em by default) and font-size
(1em by default) changes if needed.
Terminal.app
Terminal.app has a mechanism that changes color for the last prompt character (Some research on the topic). There is no way to disable this behavior. I suggest you try other emulators if that bothers you.
TODO
- Update font files for the iTerm2 v3
- Add more previews
- Create a complete release
- Add terminal theme recommendations
- Remove line wrap bug caused by unclosed color tags
- Research the possibility of using 256 colors
- Windows OS adaptation
- Fix git autocomplete when using git aliases
Credits
Inspired by Oh My Zsh and agnoster theme.
Icons by Font Awesome.