28 lines
860 B
Bash
28 lines
860 B
Bash
promptsetup() {
|
|
# Color definitions for prompt
|
|
local fg_brightred='\[$(tput setaf 9)\]'
|
|
local fg_blue='\[$(tput setaf 4)\]'
|
|
local fg_magenta='\[$(tput setaf 13)\]'
|
|
local fg_cyan='\[$(tput setaf 6)\]'
|
|
local fg_brightcyan='\[$(tput setaf 14)\]'
|
|
local fg_green='\[$(tput setaf 2)\]'
|
|
local reset='\[$(tput sgr0)\]'
|
|
local hostname='\h'
|
|
local mixin
|
|
|
|
# [hh:mm][username@hostname pwd]$
|
|
|
|
# Remotely, hostname is red.
|
|
[ -n "$SSH_CLIENT" ] && hostname="${fg_brightred}\h${reset}"
|
|
|
|
# If in a python venv, add venv name in green.
|
|
[ -n "$VIRTUAL_ENV" ] && mixin=" ${fg_green}$(basename $VIRTUAL_ENV)${reset}"
|
|
|
|
# If in a vcsh repo env, add repo name in magenta.
|
|
[ -n "$VCSH_REPO_NAME" ] && mixin=" ${fg_magenta}$VCSH_REPO_NAME${reset}"
|
|
|
|
PS1="${fg_blue}[\A]${fg_cyan}[${fg_brightcyan}\u${fg_cyan}@${hostname}${mixin} ${fg_cyan}\W]${reset}\$ "
|
|
}
|
|
|
|
promptsetup
|