From: Mark Wooding Date: Thu, 16 Nov 2017 12:25:12 +0000 (+0000) Subject: dot/shell-rc: If terminal is `dumb' then use vanilla prompts. X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/profile/commitdiff_plain/55bd026152a0d09c69a2e6113d46928a3ad22ed9 dot/shell-rc: If terminal is `dumb' then use vanilla prompts. This avoids confusing Emacs's `TRAMP' facility. --- diff --git a/dot/shell-rc b/dot/shell-rc index 5c3c336..4538bc3 100644 --- a/dot/shell-rc +++ b/dot/shell-rc @@ -74,20 +74,28 @@ __mdw_set_prompt_pieces () { } __mdw_set_prompt () { - __mdw_last_rc=$? - local git rc - if type __git_ps1 >/dev/null 2>&1; then - git="$__mdw_prompt_git_left$(__git_ps1)$__mdw_prompt_git_right" - else - git="" - fi - case $__mdw_last_rc in - 0) rc="" ;; - *) rc="$__mdw_prompt_rc_left rc=$__mdw_last_rc$__mdw_prompt_rc_right" ;; + case "$TERM" in + dumb) + case $(id -u) in 0) PS1='# ' ;; *) PS1='$ ' ;; esac + PS2='> ' + ;; + *) + __mdw_last_rc=$? + local git rc + if type __git_ps1 >/dev/null 2>&1; then + git="$__mdw_prompt_git_left$(__git_ps1)$__mdw_prompt_git_right" + else + git="" + fi + case $__mdw_last_rc in + 0) rc="" ;; + *) rc="$__mdw_prompt_rc_left rc=$__mdw_last_rc$__mdw_prompt_rc_right" ;; + esac + PS1="$__mdw_prompt_left$git$rc$__mdw_prompt_right" + PS2="$PS1 $bold>$unbold " + unset __mdw_last_rc + ;; esac - PS1="$__mdw_prompt_left$git$rc$__mdw_prompt_right" - PS2="$PS1 $bold>$unbold " - unset __mdw_last_rc } __mdw_precmd () {