mode
wechseln kann.Der Prompt färbt sich rot wenn sich der Status verändert hat und zeigt mir neben der Revisionsnummer auch noch den Namen das Branches an auf dem ich gerade bin :)
_checkrevision() {
set -A HGOUTPUT $(hg id -n -b -t 2> /dev/null)
if [[ ${HGOUTPUT[0]} != "" ]]
then
if grep '+' <(echo ${HGOUTPUT[0]}) > \
/dev/null 2> /dev/null
then
print ":${BOLD}${RED}${HGOUTPUT[0]}${NORM}\
@${CYAN}${HGOUTPUT[1]}${NORM}" && return
elif grep -v 'tip' <(echo ${HGOUTPUT[*]}) > \
/dev/null 2> /dev/null
then
print ":${BOLD}${YELLOW}${HGOUTPUT[0]}${NORM}\
@${CYAN}${HGOUTPUT[1]}${NORM}"\
&& return
else
print ":${BOLD}${GREEN}${HGOUTPUT[0]}${NORM}\
@${CYAN}${HGOUTPUT[1]}${NORM}"\
&& return
fi
fi
}
mode() {
if [[ $1 == 'ksh' ]]
then
export PS1='${NORM}\[${USERCOL}${USER}${NORM}\@\
${HOSTCOL}${HOSTNAME}${NORM}\:${BLUE}$(_checkdir)\
${NORM}]\:${RED}${HISTCMD}${NORM}\> '
elif [[ $1 == 'hg' ]]
then
export PS1='${PURPLE}☿${NORM}$(_checkrevision)> '
fi
}
Das ist jetzt die erste Version. Mal sehen wie sich das gute Stück noch weiterentwickelt :)
UPDATE: Hab den Code noch mal um einiges verbessert.
Keine Kommentare:
Kommentar veröffentlichen