treat zle-isearch-exit like an accept-* widget

Accepting a line in an iserch does not call through any of the
accept-widgets. To be able to still do some cleanup (remove
cursor imprint, remove partial path highlinting) use
zle-isearch-exit instead.
This commit is contained in:
m0viefreak 2015-12-29 20:04:52 +01:00
commit fb418b90d3
3 changed files with 15 additions and 8 deletions

View file

@ -60,8 +60,8 @@
# Whether the highlighter should be called or not.
_zsh_highlight_main_highlighter_predicate()
{
# accept-* may trigger removal of path_prefix highlighting
[[ $WIDGET == accept-* ]] ||
# widgets which accept lines may trigger removal of path_prefix highlighting
_zsh_highlight_is_accept_line_type_widget ||
_zsh_highlight_buffer_modified
}
@ -455,7 +455,7 @@ _zsh_highlight_main_highlighter_check_path()
# If this word ends the buffer, check if it's the prefix of a valid path.
if [[ ${BUFFER[1]} != "-" && ${#BUFFER} == $end_pos ]] &&
[[ $WIDGET != accept-* ]]; then
! _zsh_highlight_is_accept_line_type_widget; then
local -a tmp
tmp=( ${expanded_path}*(N) )
(( $#tmp > 0 )) && style_override=path_prefix && return 0