idmgr/lib/idmgr_mod_ps1.sh
2023-04-17 14:40:55 -04:00

86 lines
1.5 KiB
Bash

#!/bin/bash
#IDM_MOD_PS1_DEPS="s4 id pass gpg ssh"
#IDM_DISABLE_AUTO+="ps1__ls"
## Prompt functions
##########################################
#SHELL_PS1="${SHELL_PS1:-${PS1}"
idm_ps1 ()
{
local action=${1-}
shift || true
idm_ps1__ls
}
idm_ps1__ls ()
{
local id=${1}
# Bug here: PS1 and vars are like nk existing ... weird
if grep -q "($id)" <<<"${IDM_SHELL_PS1:-${PS1-}}" ; then
echo " enabled"
else
echo " disabled"
fi
}
idm_ps1__help ()
{
echo "Shell Prompt"
printf " %-20s: %s\n" "ps1 enable" "Enable prompt"
printf " %-20s: %s\n" "ps1 disable" "Disable prompt"
}
idm_ps1__enable ()
{
# Detect is PS1_*FIX vars exists
if [ "${PS1_PREFIX+x}" == x ]; then
#>&2 echo "Prefix PS1_PREFIX: ${PS1_PREFIX+x}"
idm_ps1__enable_suffix $@
else
#>&2 echo "Classic PS1: ${PS1_PREFIX+x}"
idm_ps1__enable_raw $@
fi
}
idm_ps1__enable_raw ()
{
local id=${1}
id="\[\033[0;34m\]($id)\[\033[00m\]"
echo "export PS1=\"$id \${IDM_SHELL_PS1}\""
# Notes about colors:
# \033]00m # for shell
# \[\033]01;31m\] # for ps1
}
idm_ps1__enable_suffix ()
{
local id=${1}
id="\033[0;34m($id)\033[00m"
echo "export PS1_PREFIX=\"$id${PS1_PREFIX:+ $PS1_PREFIX}\""
}
idm_ps1__disable ()
{
# Detect is PS1_*FIX vars exists
if [ "${PS1_PREFIX+x}" == x ]; then
#>&2 echo "Prefix PS1_PREFIX: ${PS1_PREFIX+x}"
echo "unset PS1_PREFIX"
else
#>&2 echo "Classic PS1: ${PS1_PREFIX+x}"
echo "export PS1=\"\${IDM_SHELL_PS1}\""
fi
}
idm_ps1__kill () { idm_ps1__disable ${@-}; }