Skip to content
Extremely fast and simple git prompt for bash
Shell
Branch: master
Clone or download
Latest commit 2685400 Jun 1, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml Jun 1, 2019
.gitignore Fix gitignore Oct 11, 2018
.npmignore ignore .github Jun 1, 2019
bashy
license License May 22, 2017
package.json 2.5.2 Oct 11, 2018
readme.md Fix readme Oct 11, 2018

readme.md

Bashy ⚡️⌨️

Extremely fast and simple git prompt for bash

Install

You can use the executable from this repo or install it with npm

npm install -g bashy

Usage

In your ~/.bashrc (linux) or ~/.bash_profile (MacOS) you need to add bashy to your $PS1:

export PS1='$(bashy) $ '

This example will give you the next prompt:

repo at branch✓ $ # if you are in a git repo
folder $ # otherwise

You can also choose a path relative to your home folder with the option -r:

export PS1='$(bashy -r) $ '
# results in
~/repos/bashy at master $

NOTE: Since version 2.5.0 bashy does not support branch status on subdirectories of a repo. This decision meant a 2x increase in performance.

Benchmarks

I've been a zsh user for a long time just for the prompts of oh-my-zsh. But because oh-my-zsh started to slow my prompt so much I decided to go back to bash and make my own customizations.

The first tool I used to do so was vcprompt, but the speed was not improving a lot.

If we compare bashy to other tools like vcprompt we can see is much faster:

$ time vcprompt
real    0m0.094s
user    0m0.037s
sys     0m0.024s

$ time bashy
real    0m0.010s
user    0m0.004s
sys     0m0.003s

Okay, bashy is faster but, come on, 0.094s is still very fast.

Yes and no. While times like those can be indistinguishable for humans, you can totally notice the difference in slower systems and also in fast terminal actions like:

vs_vcprompt

Customization

Okay okay, you don't care so much about the performance because you love customization, and tools like vcprompt are very good at that. While bashy does not have a built in customization option, it's extremely easy to customize. Just edit the script, purely bash, and write your own icons there, add more colors, or even rearrange the branch name and directory. Your imagination is the limit here.

You can use your own modified version of bashy cloning this repo and linking it with npm:

npm remove -g bashy                          # Uninstall the global bashy
git clone https://github.com/pablopunk/bashy # Clone this repo
cd bashy
npm link                                     # Link
bashy                                        # Use it!

Zsh

If you still wanna use ZSH, bashy will work as well as in bash.

There is also a really cool prompt for zsh called pure. It's also really fast, beautiful and asynchronous!

Author

me
© 2017 Pablo Varela
You can’t perform that action at this time.