1
0
Fork 0
mirror of git://git.code.sf.net/p/zsh/code synced 2025-10-22 16:20:23 +02:00

22560: tweak history-beginning-search-menu to clear menu after use

This commit is contained in:
Peter Stephenson 2006-07-28 10:21:06 +00:00
parent d88220042d
commit 80a6fa6af5
2 changed files with 16 additions and 0 deletions

View file

@ -41,6 +41,10 @@ local -a display
local search=$LBUFFER
if [[ $WIDGET = *-space* ]]; then
# We need to quote metacharacters in the search string
# since they are otherwise active in the reverse subscript.
# We need to avoid quoting other characters since they aren't
# and just stay quoted, rather annoyingly.
search=${search//(#m)[*?#<>]/\\$MATCH/}
search=${search// /*}
fi
@ -68,7 +72,14 @@ zle -R "Enter digit${${width##1}:+s}:" $display
local chars
read -k$width chars
# Hmmm... this isn't great. The only way of clearing the display
# appears to be to overwrite it completely. I think that's because
# displaying strings in this way doesn't set the completion list
# properly.
display=(${display//?/ })
if [[ $chars != [[:digit:]]## || $chars -eq 0 || $chars -gt $n ]]; then
zle -R '' $display
return 1
fi
@ -87,3 +98,5 @@ else
BUFFER=${matches[$chars]}
(( newcursor )) && CURSOR=$newcursor
fi
zle -R '' $display