aboutsummaryrefslogtreecommitdiff
path: root/ksh/kshrc.d/prompt.ksh
diff options
context:
space:
mode:
authorTom Ryder <tom@sanctum.geek.nz>2017-01-25 14:31:32 +1300
committerTom Ryder <tom@sanctum.geek.nz>2017-01-25 14:31:32 +1300
commite3f97d6c12e6e311b155ce24ce586717b1abc18b (patch)
tree4d7f5c0556499331218bf2897ef04bc2962aca12 /ksh/kshrc.d/prompt.ksh
parentMove Zsh keybinding setup to after ENV sourcing (diff)
downloaddotfiles-e3f97d6c12e6e311b155ce24ce586717b1abc18b.tar.gz
dotfiles-e3f97d6c12e6e311b155ce24ce586717b1abc18b.zip
Show prompt prefix if a shell is exotic
That is, include e.g. "ksh:" as a prefix to the prompt if the user appears to have Bash or Zsh (or anything else) as their login shell. This is probably imperfect, but it's a start.
Diffstat (limited to 'ksh/kshrc.d/prompt.ksh')
-rw-r--r--ksh/kshrc.d/prompt.ksh14
1 files changed, 14 insertions, 0 deletions
diff --git a/ksh/kshrc.d/prompt.ksh b/ksh/kshrc.d/prompt.ksh
index bf77f626..09c7de6e 100644
--- a/ksh/kshrc.d/prompt.ksh
+++ b/ksh/kshrc.d/prompt.ksh
@@ -22,6 +22,20 @@ function prompt {
# count, and previous command return value
PS1=$PS1'$(ret=$?;jobc=$(jobs -p|sed -n '\''$='\'');prompt pwd;prompt vcs;prompt job;prompt ret;:)'
+ # Add a helpful prefix if this shell appears to be exotic
+ typeset ksh
+ case $KSH_VERSION in
+ (*'93'*) ksh=ksh93 ;;
+ (*'PD KSH'*) ksh=pdksh ;;
+ (*'MIRBSD KSH'*) ksh=mksh ;;
+ esac
+ case ${SHELL##*/} in
+ ('') ;;
+ (ksh) ;;
+ ("$ksh") ;;
+ (*) PS1=$ksh:$PS1 ;;
+ esac
+
# Add prefix and suffix
PS1='${PROMPT_PREFIX}'$PS1'${PROMPT_SUFFIX}'