Merge remote-tracking branch 'origin/github/pr/119'
authorMichael Prokop <mika@grml.org>
Wed, 19 May 2021 05:21:29 +0000 (07:21 +0200)
committerMichael Prokop <mika@grml.org>
Wed, 19 May 2021 05:21:29 +0000 (07:21 +0200)
etc/zsh/zshrc

index 5a74fee..718853f 100644 (file)
@@ -1200,10 +1200,15 @@ zle -N grml-zsh-fg
 # run command line as user root via sudo:
 function sudo-command-line () {
     [[ -z $BUFFER ]] && zle up-history
-    if [[ $BUFFER != sudo\ * ]]; then
-        BUFFER="sudo $BUFFER"
-        CURSOR=$(( CURSOR+5 ))
+    local cmd="sudo "
+    if [[ ${BUFFER} == ${cmd}* ]]; then
+        CURSOR=$(( CURSOR-${#cmd} ))
+        BUFFER="${BUFFER#$cmd}"
+    else
+        BUFFER="${cmd}${BUFFER}"
+        CURSOR=$(( CURSOR+${#cmd} ))
     fi
+    zle reset-prompt
 }
 zle -N sudo-command-line