mirror of
https://github.com/zsh-users/zsh-syntax-highlighting.git
synced 2025-02-13 10:05:31 +08:00
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:
parent
38c3ac8831
commit
fb418b90d3
@ -34,15 +34,14 @@
|
||||
# Whether the cursor highlighter should be called or not.
|
||||
_zsh_highlight_cursor_highlighter_predicate()
|
||||
{
|
||||
# accept-* may trigger removal of cursor highlighting
|
||||
[[ $WIDGET == accept-* ]] ||
|
||||
_zsh_highlight_cursor_moved
|
||||
# widgets which accept lines may trigger removal of cursor highlighting
|
||||
_zsh_highlight_cursor_moved || _zsh_highlight_is_accept_line_type_widget
|
||||
}
|
||||
|
||||
# Cursor highlighting function.
|
||||
_zsh_highlight_cursor_highlighter()
|
||||
{
|
||||
[[ $WIDGET == accept-* ]] && return
|
||||
_zsh_highlight_is_accept_line_type_widget && return
|
||||
|
||||
region_highlight+=("$CURSOR $(( $CURSOR + 1 )) $ZSH_HIGHLIGHT_STYLES[cursor]")
|
||||
}
|
||||
|
@ -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
|
||||
|
@ -174,6 +174,14 @@ _zsh_highlight_cursor_moved()
|
||||
[[ -n $CURSOR ]] && [[ -n ${_ZSH_HIGHLIGHT_PRIOR_CURSOR-} ]] && (($_ZSH_HIGHLIGHT_PRIOR_CURSOR != $CURSOR))
|
||||
}
|
||||
|
||||
# Whether the current widget is an accept-line type widget.
|
||||
#
|
||||
# Returns 0 if the the current widget is an accept-line type widget.
|
||||
_zsh_highlight_is_accept_line_type_widget()
|
||||
{
|
||||
[[ $WIDGET == accept-* ]] || [[ $WIDGET == zsh-isearch-exit ]]
|
||||
}
|
||||
|
||||
|
||||
# -------------------------------------------------------------------------------------------------
|
||||
# Setup functions
|
||||
|
Loading…
Reference in New Issue
Block a user