highlighters: Use _zsh_highlight_add_highlight
_zsh_highlight_add_highlight appends to region_highlight $1 $2 and the next non-null parameter. If there is no non-null parameter, do nothing, This is so that highlighters can add a style with fallbacks if the most specific style is not defined. If none of the applicable styles are defined, do the right thing and don't add an invalid entry to region_highlight. The pattern highlighter doesn't use this function as it'd need too large of an API change.
This commit is contained in:
@@ -83,10 +83,10 @@ _zsh_highlight_brackets_highlighter()
|
||||
local bracket_color_size=${#ZSH_HIGHLIGHT_STYLES[(I)bracket-level-*]}
|
||||
local bracket_color_level=bracket-level-$(( (levelpos[$pos] - 1) % bracket_color_size + 1 ))
|
||||
local style=$bracket_color_level
|
||||
region_highlight+=("$pos $((pos + 1)) $ZSH_HIGHLIGHT_STYLES[$style]")
|
||||
_zsh_highlight_add_highlight $pos $((pos + 1)) $style
|
||||
else
|
||||
local style=bracket-error
|
||||
region_highlight+=("$pos $((pos + 1)) $ZSH_HIGHLIGHT_STYLES[$style]")
|
||||
_zsh_highlight_add_highlight $pos $((pos + 1)) $style
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -95,7 +95,7 @@ _zsh_highlight_brackets_highlighter()
|
||||
if [[ -n $levelpos[$pos] ]] && [[ -n $matching[$pos] ]]; then
|
||||
local otherpos=$matching[$pos]
|
||||
local style=cursor-matchingbracket
|
||||
region_highlight+=("$otherpos $((otherpos + 1)) $ZSH_HIGHLIGHT_STYLES[$style]")
|
||||
_zsh_highlight_add_highlight $otherpos $((otherpos + 1)) $style
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user