a powerline-style shell prompt builder

I was using @milkbikis's excellent powerline-style shell prompt when I decided that I wanted more options. Then I wanted a version in javascript instead of python so I could add those options myself in my current programming environment of choice. Then I started rewriting it. Then I observed that it was faster in javascript than in python, probably because node.js starts up really quickly.

This is the tragic result: a powerline-style shell prompt generator for node.

npm install powerline-js (speculatively because I haven't yet published this) or clone the repo. Symlink powerline.js to some location in your path.

Then go to the original most excellent project page and find a patched font you like.

Use it as you would the original. E.g, for bash:

function _update_ps1() {
   export PS1="$(~/bin/powerline.js $? --shell bash --depth 4)"
export PROMPT_COMMAND="_update_ps1"

For zsh:

function powerline_precmd()
   export PS1="$(~/bin/powerline.js $?)"

--shell [zsh|bash]
: which shell to emit color escapes for; defaults to 'zsh'

: use only the current working directory in the prompt; defaults to false

--mode [patched|compatible]
: which font mode to expect; defaults to 'patched'

--depth *N*
: how many segments of the current working directory to show; defaults to 5

: do not attempt to show extra source repository information for the current directory; defaults to false

: generate only a source repository segment; defaults to false

Any further arguments are presumed to be $? aka the error returned by the previous shell command.

No mercurial support yet and the svn support isn't good, but then, you're using git anyway. Note that I default to zsh because that's how I roll, but the original defaults to bash.

  • An option to reverse the prompt direction, for use in zsh right prompts.
  • Mercurial support.