diff options
author | Bart Schaefer <barts@users.sourceforge.net> | 2003-01-27 16:41:15 +0000 |
---|---|---|
committer | Bart Schaefer <barts@users.sourceforge.net> | 2003-01-27 16:41:15 +0000 |
commit | 1fb9c83eb6cce967d9429aa1ee49d14c0f96d863 (patch) | |
tree | ac74015a933bc97f3284404e29ba70a8662b8a56 /Functions/Zle/copy-earlier-word | |
parent | dae12df8cd7be415187cdb936e5103fb71436543 (diff) | |
download | zsh-1fb9c83eb6cce967d9429aa1ee49d14c0f96d863.tar.gz zsh-1fb9c83eb6cce967d9429aa1ee49d14c0f96d863.tar.xz zsh-1fb9c83eb6cce967d9429aa1ee49d14c0f96d863.zip |
18143: cooperation between copy-earlier-word and smart-insert-last-word
Diffstat (limited to 'Functions/Zle/copy-earlier-word')
-rw-r--r-- | Functions/Zle/copy-earlier-word | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Functions/Zle/copy-earlier-word b/Functions/Zle/copy-earlier-word index bbc8af35c..63e7edaef 100644 --- a/Functions/Zle/copy-earlier-word +++ b/Functions/Zle/copy-earlier-word @@ -5,15 +5,20 @@ # and start from the word before last. Otherwise, it will operate on # the current line. +emulate -L zsh + if (( ${NUMERIC:-0} )); then - # 1 means last word, 2 second last, etc. - (( __copyword = ${NUMERIC:-0} )) + # 1 means last word, 2 second last, etc. + (( __copyword = ${NUMERIC:-0} )) + zstyle -s :$WIDGET widget __copywidget elif [[ -n $__copyword && $WIDGET = $LASTWIDGET ]]; then (( __copyword-- )) elif [[ $LASTWIDGET = *insert-last-word ]]; then __copyword=-2 + __copywidget=$LASTWIDGET else __copyword=-1 + zstyle -s :$WIDGET widget __copywidget fi -zle .insert-last-word 0 $__copyword +zle ${__copywidget:-.insert-last-word} 0 $__copyword |