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:
parent
d88220042d
commit
80a6fa6af5
2 changed files with 16 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue