Compare commits
8
Commits
28c01e04d8
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6c17db1aaf
|
||
|
|
931795fdc2
|
||
|
|
74b2b46d05
|
||
|
|
aebebf79cb
|
||
|
|
19c251cc26
|
||
|
|
9ca1af4661
|
||
|
|
243b23137b
|
||
|
|
ebd23bba0e
|
@@ -2,10 +2,13 @@
|
||||
|
||||
Clone this repo:
|
||||
```
|
||||
git clone git@uncensored.hu:thayol/bash-prompt.git ~/.bash-prompt
|
||||
git clone https://git.uncensored.hu/thayol/bash-prompt.git ~/.bash-prompt
|
||||
```
|
||||
|
||||
Add this to your `.bashrc`:
|
||||
```
|
||||
. $HOME/.bash-prompt/prompt.sh
|
||||
```
|
||||
|
||||
Optionally create a `.env` file (in the repo root) to customize the look.
|
||||
You can find the available variables in `prompt.sh`.
|
||||
|
||||
@@ -6,38 +6,64 @@ PROMPT_HOST_COLOR="255;255;255"
|
||||
PROMPT_DIR_COLOR="100;149;237"
|
||||
PROMPT_VPN_NAME=""
|
||||
PROMPT_VPN_COLOR="255;255;255"
|
||||
PROMPT_HIGHLIGHTED_BRANCH_COLOR="255;84;84"
|
||||
|
||||
_prompt_dir="${BASH_SOURCE[0]%/*}"
|
||||
[[ -f "$_prompt_dir/.env" ]] && . "$_prompt_dir/.env"
|
||||
|
||||
__prompt_git() {
|
||||
local color
|
||||
local color_reset
|
||||
local branch
|
||||
color=""
|
||||
color_reset=""
|
||||
branch=$(git branch --show-current 2>/dev/null) || return
|
||||
[[ -z $branch ]] && return
|
||||
echo -n " (${branch})"
|
||||
|
||||
if [[ $branch =~ main|master ]] && [[ -n $PROMPT_HIGHLIGHTED_BRANCH_COLOR ]]; then
|
||||
color="\[\e[38;2;${PROMPT_HIGHLIGHTED_BRANCH_COLOR}m\]"
|
||||
color_reset="\[\e[0m\]"
|
||||
fi
|
||||
|
||||
echo -n " (${color}${branch}${color_reset})"
|
||||
}
|
||||
|
||||
__prompt_vpn() {
|
||||
[[ -z $PROMPT_VPN_NAME ]] && return
|
||||
nmcli -f GENERAL.STATE con show "$PROMPT_VPN_NAME" &>/dev/null || return
|
||||
[[ -z $(nmcli -f GENERAL.STATE con show "$PROMPT_VPN_NAME") ]] && return
|
||||
echo -n " → \[\e[38;2;${PROMPT_VPN_COLOR}m\]${PROMPT_VPN_NAME}\[\e[0m\]"
|
||||
}
|
||||
|
||||
__prompt_icon() {
|
||||
[[ -z $PROMPT_ICON ]] && return
|
||||
echo -n " ${PROMPT_ICON}"
|
||||
}
|
||||
|
||||
__prompt_build() {
|
||||
local white='\[\e[37m\]'
|
||||
local reset='\[\e[0m\]'
|
||||
local host_color="\[\e[38;2;${PROMPT_HOST_COLOR}m\]"
|
||||
local dir_color="\[\e[38;2;${PROMPT_DIR_COLOR}m\]"
|
||||
|
||||
PS1="${white}[${reset}"
|
||||
PS1="\n"
|
||||
PS1+="${white}[${reset}"
|
||||
PS1+="${host_color}\u@\h${r}"
|
||||
PS1+="$(__prompt_vpn)"
|
||||
PS1+="${white}:${reset}"
|
||||
PS1+="${dir_color}${PWD}${reset}"
|
||||
PS1+="${white}]${reset}"
|
||||
PS1+=" ${PROMPT_ICON}"
|
||||
PS1+="$(__prompt_icon)"
|
||||
PS1+="$(__prompt_git)"
|
||||
PS1+=' \$ '
|
||||
}
|
||||
|
||||
PROMPT_COMMAND=__prompt_build
|
||||
case ";${PROMPT_COMMAND-};" in
|
||||
*";__prompt_build;"*) ;;
|
||||
*)
|
||||
if [[ -n ${PROMPT_COMMAND-} ]]; then
|
||||
PROMPT_COMMAND="${PROMPT_COMMAND}; __prompt_build"
|
||||
else
|
||||
PROMPT_COMMAND=__prompt_build
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user