This commit is contained in:
m0vie 2016-03-28 16:35:08 +00:00
commit e3c151eb4b
3 changed files with 15 additions and 8 deletions

View File

@ -34,15 +34,14 @@
# Whether the cursor highlighter should be called or not. # Whether the cursor highlighter should be called or not.
_zsh_highlight_cursor_highlighter_predicate() _zsh_highlight_cursor_highlighter_predicate()
{ {
# accept-* may trigger removal of cursor highlighting # widgets which accept lines may trigger removal of cursor highlighting
[[ $WIDGET == accept-* ]] || _zsh_highlight_cursor_moved || _zsh_highlight_is_accept_line_type_widget
_zsh_highlight_cursor_moved
} }
# Cursor highlighting function. # Cursor highlighting function.
_zsh_highlight_cursor_highlighter() _zsh_highlight_cursor_highlighter()
{ {
[[ $WIDGET == accept-* ]] && return _zsh_highlight_is_accept_line_type_widget && return
region_highlight+=("$CURSOR $(( $CURSOR + 1 )) $ZSH_HIGHLIGHT_STYLES[cursor]") region_highlight+=("$CURSOR $(( $CURSOR + 1 )) $ZSH_HIGHLIGHT_STYLES[cursor]")
} }

View File

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

View File

@ -190,6 +190,14 @@ _zsh_highlight_cursor_moved()
[[ -n $CURSOR ]] && [[ -n ${_ZSH_HIGHLIGHT_PRIOR_CURSOR-} ]] && (($_ZSH_HIGHLIGHT_PRIOR_CURSOR != $CURSOR)) [[ -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 # Setup functions