1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-23 04:30:24 +02:00

18394: New word movement and editing widgets.

This commit is contained in:
Peter Stephenson 2003-03-28 11:34:07 +00:00
parent 2941469f61
commit 1e57c42f47
13 changed files with 678 additions and 26 deletions

View file

@ -0,0 +1,39 @@
emulate -L zsh
setopt extendedglob
autoload match-words-by-style
local curcontext=":zle:$WIDGET" word
local -a matched_words
integer count=${NUMERIC:-1}
if (( count < 0 )); then
(( NUMERIC = -count ))
zle ${WIDGET/forward/backward}
return
fi
while (( count-- )); do
match-words-by-style
# For some reason forward-word doesn't work like the other word
# word commnds; it skips whitespace only after any matched word
# characters.
if [[ -n $matched_words[4] ]]; then
# just skip the whitespace
word=$matched_words[4]
else
# skip the word and trailing whitespace
word=$matched_words[5]$matched_words[6]
fi
if [[ -n $word ]]; then
(( CURSOR += ${#word} ))
else
return 1
fi
done
return 0