19 lines
470 B
Bash
19 lines
470 B
Bash
#!/usr/bin/env zsh
|
|
|
|
emulate -L zsh -o extended_glob
|
|
local buf w=${WORDCHARS//[[:space:][:alnum:]]}
|
|
repeat ${NUMERIC:-1}; do
|
|
buf=${RBUFFER##[[:space:]]#}
|
|
if (( $#buf < 2 )); then
|
|
buf=
|
|
elif [[ $buf == ?[[:space:]]* ]]; then
|
|
buf[1]=
|
|
elif [[ $buf[1,2] != *[[:alnum:]$w]* ]]; then
|
|
buf=${buf##[^[:space:][:alnum:]$w]#}
|
|
else
|
|
[[ $buf == [[:alnum:]$w]* ]] || buf[1]=
|
|
buf=${buf##[[:alnum:]$w]#}
|
|
fi
|
|
(( CURSOR += $#RBUFFER - $#buf ))
|
|
done
|
|
return 0
|