about summary refs log tree commit diff
path: root/Functions
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2011-11-07 11:13:48 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2011-11-07 11:13:48 +0000
commitec6914b061c652a26078af71a29a3d3402583b52 (patch)
tree0a7b73bffa50d3434268aacccd3f070645a0bbda /Functions
parenta6e039e12e5b9e480b876971ff644c3180efb2bc (diff)
downloadzsh-ec6914b061c652a26078af71a29a3d3402583b52.tar.gz
zsh-ec6914b061c652a26078af71a29a3d3402583b52.tar.xz
zsh-ec6914b061c652a26078af71a29a3d3402583b52.zip
29894: display and use previous replacement in replace-string
Diffstat (limited to 'Functions')
-rw-r--r--Functions/Zle/replace-string20
1 files changed, 15 insertions, 5 deletions
diff --git a/Functions/Zle/replace-string b/Functions/Zle/replace-string
index bc608e577..a3416a403 100644
--- a/Functions/Zle/replace-string
+++ b/Functions/Zle/replace-string
@@ -3,7 +3,15 @@ setopt extendedglob
 
 autoload -Uz read-from-minibuffer replace-string-again
 
-local p1="Replace: " p2="   with: "
+local p1  p2
+
+if [[ -n $_replace_string_src ]]; then
+  p1="[$_replace_string_src -> $_replace_string_rep]"$'\n'
+fi
+
+p1+="Replace: "
+p2="   with: "
+
 # Saving curwidget is necessary to avoid the widget name being overwritten.
 local REPLY previous curwidget=$WIDGET
 
@@ -14,10 +22,12 @@ else
 fi
 
 read-from-minibuffer $p1 ${previous:+$_replace_string_src} || return 1
-typeset -g _replace_string_src=$REPLY
+if [[ -n $REPLY ]]; then
+  typeset -g _replace_string_src=$REPLY
 
-read-from-minibuffer "$p1$_replace_string_src$p2" \
-  ${previous:+$_replace_string_rep} || return 1
-typeset -g _replace_string_rep=$REPLY
+  read-from-minibuffer "$p1$_replace_string_src$p2" \
+    ${previous:+$_replace_string_rep} || return 1
+  typeset -g _replace_string_rep=$REPLY
+fi
 
 replace-string-again $curwidget