powerline-rs
is a rewrite of powerline-shell, inspired by powerline-go.
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.
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
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!
libgit2
over calling and parsing git
output (Thanks tbodt for suggesting it!)libgit2
can be disabled at compile time if you don't plan on using git functionality.key=value
scripts. No JSON overhead or similar.powerline-rs
is slightly smaller than the 2 alternatives I mentioned. To be honest, I have no idea why.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
.
Bash
prompt() {
PS1="$(powerline-rs --shell bash $?)"
}
PROMPT_COMMAND=prompt
Fish
function fish_prompt
powerline-rs --shell bare $status
end
Zsh
prompt() {
PS1="$(powerline-rs --shell zsh $?)"
}
precmd_functions+=(prompt)