diff options
author | Peter Stephenson <pws@users.sourceforge.net> | 2011-11-07 11:13:48 +0000 |
---|---|---|
committer | Peter Stephenson <pws@users.sourceforge.net> | 2011-11-07 11:13:48 +0000 |
commit | ec6914b061c652a26078af71a29a3d3402583b52 (patch) | |
tree | 0a7b73bffa50d3434268aacccd3f070645a0bbda /Functions/Zle | |
parent | a6e039e12e5b9e480b876971ff644c3180efb2bc (diff) | |
download | zsh-ec6914b061c652a26078af71a29a3d3402583b52.tar.gz zsh-ec6914b061c652a26078af71a29a3d3402583b52.tar.xz zsh-ec6914b061c652a26078af71a29a3d3402583b52.zip |
29894: display and use previous replacement in replace-string
Diffstat (limited to 'Functions/Zle')
-rw-r--r-- | Functions/Zle/replace-string | 20 |
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 |