2 unstable releases
| 0.2.0 | Jun 26, 2020 |
|---|---|
| 0.1.0 | Jun 21, 2020 |
#31 in #shell-prompt
66KB
273 lines
mshp
A minimal and fast shell prompt written in Rust.

Installation
Building from source
- Install and setup Rust
- Run
cargo install mshp
Pre-compiled binary
- Download a binary from the releases page
- Move the binary to your
PATH
Usage
Bash, Dash, Ksh, etc.
On most POSIX compatible shells you can add the following line to your init file (e.g. .bashrc):
PS1="$(mshp)"
Zsh
Add the following to your .zshrc file:
precmd() {
PS1="$(mshp)"
}
Ion
Add the following to your .config/ion/initrc file:
fn PROMPT
echo -n "$(mshp)"
end
Configuration
mshp can be configured via environment variables.
Variable types
-
Color: Takes one of the following as value:default(case insensitive) (sets the color to the default foreground color defined by the terminal)- A written out ANSII color (
black,red,green,yellow,blue,magenta,cyan,white) (case insensitive) - A ANSII number (e.g.
1for red) - A hex color beginning with
#(e.g.#00For#0000FFfor blue)
-
Boolean: Takes either0/false(deactivate setting) or1/true(activate setting) as value -
String: Takes any value
Available environment variables
-
MSHP_PATH_COLORSets the foreground color of the current working directory.
Type:
Color, Default:blue -
MSHP_GIT_BRANCH_ICONSets the icon that is displayed next to the git branch.
Type:
String, Default: -
MSHP_GIT_BRANCH_COLORSets the foreground color used to display the git branch and the icon.
Type:
Color, Default:cyan -
MSHP_GIT_BRANCH_DISABLEDisables the git branch and icon.
Type:
Boolean, Default:false -
MSHP_GIT_STATUS_STAGED_ICONSets the icon that is used to indicate uncommited and staged changes in the git repo.
Type:
String, Default:+ -
MSHP_GIT_STATUS_UNSTAGED_ICONSets the icon that is used to indicate uncommited and unstaged changes in the git repo.
Type:
String, Default:! -
MSHP_GIT_STATUS_UNTRACKED_ICONSets the icon that is used to indicate untracked files in the git repo.
Type:
String, Default:! -
MSHP_GIT_STATUS_AHEAD_ICONSets the icon that is used to indicate that your local branch is ahead of the upstream branch.
Type:
String, Default:↥ -
MSHP_GIT_STATUS_BEHIND_ICONSets the icon that is used to indicate that your local branch is behind the upstream branch.
Type:
String, Default:↧ -
MSHP_GIT_STATUS_COLORSets the color for the above mentioned icons.
Type:
Color, Default:cyan -
MSHP_GIT_STATUS_DISABLEDisables the above mentioned icons.
Type:
Boolean, Default:false -
MSHP_CHAR_USER_ICONSets the icon that is displayed at the end of the prompt to indicate that the current user is not the root user.
Type:
String, Default:$ -
MSHP_CHAR_USER_COLORSets the color for the user character.
Type:
Color, Default:green -
MSHP_CHAR_USER_FAILED_ICONSets the icon that is displayed at the end of the prompt to indicate that the current user is not the root user when the previous command failed.
Type:
String, Default:$ -
MSHP_CHAR_USER_FAILED_COLORSets the color for the user character when the previous command failed.
Type:
Color, Default:red -
MSHP_CHAR_ROOT_ICONSets the icon that is displayed at the end of the prompt to indicate that the current user is the root user.
Type:
String, Default:# -
MSHP_CHAR_ROOT_COLORSets the color for the root character.
Type:
Color, Default:green -
MSHP_CHAR_ROOT_FAILED_ICONSets the icon that is displayed at the end of the prompt to indicate that the current user is the root user when the previous command failed.
Type:
String, Default:# -
MSHP_CHAR_ROOT_FAILED_COLORSets the color for the root character when the previous command failed.
Type:
Color, Default:red
License
Licensed under either of Apache License, Version 2.0 or MIT License at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this crate by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Dependencies
~11MB
~253K SLoC