Crates.io | rustup_prompt_helper |
lib.rs | rustup_prompt_helper |
version | 1.1.0 |
source | src |
created_at | 2016-11-18 19:30:20.963282 |
updated_at | 2017-01-26 15:47:20.073888 |
description | A small command line utility that prints the active rustup toolchain for the current working directory |
homepage | https://github.com/ijanos/rustup_prompt_helper |
repository | https://github.com/ijanos/rustup_prompt_helper |
max_upload_size | |
id | 7293 |
size | 16,346 |
A small command line utility that prints the name of the selected rust toolchain
for the current working directory. It helps creating informative command line
prompts or scripts where the alternative is piping the output of rustup
command through other tools. While that approach is fine it is slower and if you
have a busy prompt it can create a noticeable delay every time you press enter.
The output of rustup_prompt_helper
should be identical to the following
command, as of rustup version 1.0.0
rustup show | tail -n 3 | head -n 1 | cut -d '-' -f 1
You can install rustup_prompt_helper
with the cargo. Make sure that
cargo's binary directory is part of your PATH environment variable.
cargo install rustup_prompt_helper
Here is simple bash prompt example. Place it in your ~/.bashrc
and it will
show the currently selected toolchain in the prompt if the directory contains
a Cargo.toml
file.
function rust_toolchain {
if [ -f Cargo.toml ]; then
echo " [rust:$(rustup_prompt_helper)]"
fi
}
PS1='[\u@\h \W]$(rust_toolchain) \$ '
Fish shell uses the fish_prompt
function to create a prompt. It can be
customized by creating a .config/fish/functions/fish_prompt.fish
file.
For a complete example see my fish prompt config.
All errors are silenced by default. If an error happens the program will simply exit without printing anything. While error silencing is generally not the greatest idea, this program's output should be printed directly into shell prompts and spilling a large error message into a prompt can cause all kinds of trouble.
To see error messages simply pass any argument to the tool like -debug
for
example.
Licensed under either of
at your option.