powerline-rs

powerline-rs is a rewrite of powerline-shell, inspired by powerline-go.

Why?

Speed! I haven't done any extensive benchmarks, but it appears like even the debug version of powerline-rs is about 20 milliseconds faster than powerline-go. The Rust language is perfect for fast applications, since copying large structures isn't implicit.

How to install

Easiest way to install is with the Arch Linux AUR.
If you don't use Arch Linux, you could do it with cargo:
cargo install powerline-rs

In order to use optional features, add something like --features "feature1,feature2,etc" to the end of the command.
To disable default features, add --no-default-features (and manually readd features you want to keep).

Optional features:

Default features:

Then add the following code to your shell:
Bash
Fish
Zsh

What's new?

Well, the default modules have changed to not include the username and hostname. I feel like most people already know that. But you can always enable it, of course!

What's optimized?

What's removed?

Most of the service-specific modules are deleted. I am very lazy.
Pull requests are welcome, though.

Also, the jobs module won't work with --shell bare.

Add it to your shell

Bash

Bash prompt() { PS1="$(powerline-rs --shell bash $?)" } PROMPT_COMMAND=prompt

Fish

Fish function fish_prompt powerline-rs --shell bare $status end

Zsh

Zsh prompt() { PS1="$(powerline-rs --shell zsh $?)" } precmd_functions+=(prompt)