main: Highlight the value of an assignment

This commit is contained in:
Matthew Martin 2018-03-21 19:59:53 -05:00
parent c06e5e95dc
commit 932eb380e2
8 changed files with 14 additions and 0 deletions

View File

@ -610,6 +610,8 @@ _zsh_highlight_main_highlighter_highlight_list()
hashed) style=hashed-command;;
none) if _zsh_highlight_main_highlighter_check_assign; then
style=assign
_zsh_highlight_main_add_region_highlight $start_pos $end_pos $style
already_added=1
local i=$(( arg[(i)=] + 1 ))
if [[ $arg[i] == '(' ]]; then
in_array_assignment=true
@ -617,6 +619,9 @@ _zsh_highlight_main_highlighter_highlight_list()
# assignment to a scalar parameter.
# (For array assignments, the command doesn't start until the ")" token.)
next_word+=':start:'
if (( start_pos + i <= end_pos )); then
highlight_glob=false _zsh_highlight_main_highlighter_highlight_argument $i
fi
fi
elif [[ $arg[0,1] = $histchars[0,1] ]] && (( $#arg[0,2] == 2 )); then
style=history-expansion

View File

@ -27,9 +27,12 @@
# vim: ft=zsh sw=2 ts=2 et
# -------------------------------------------------------------------------------------------------
touch foo
BUFFER='42=foo 43+=bar'
expected_region_highlight=(
"1 6 assign" # 42=foo
"4 6 path" # foo
"8 14 assign" # 43+=bar
"12 14 default" # bar
)

View File

@ -35,4 +35,5 @@ expected_region_highlight=(
"10 14 default" # world
"15 15 assign" # )
"17 20 assign" # b=42
"19 20 default" # 42
)

View File

@ -31,5 +31,6 @@ BUFFER='a=foo( bar ) :'
expected_region_highlight=(
'1 12 assign' # a=foo( bar )
'3 12 default' # foo( bar )
'14 14 builtin' # :
)

View File

@ -31,5 +31,6 @@ BUFFER='a=foo\( :'
expected_region_highlight=(
'1 7 assign' # a=foo\(
'3 7 default' # foo\(
'9 9 builtin' # :
)

View File

@ -31,6 +31,7 @@ BUFFER='A=1; echo hello world'
expected_region_highlight=(
"1 3 assign" # A=1
"3 3 default" # 1
"4 4 commandseparator" # ;
"6 9 builtin" # echo
"11 15 default" # hello

View File

@ -32,5 +32,6 @@ BUFFER='(A=1)'
expected_region_highlight=(
"1 1 reserved-word" # (
"2 4 assign" # A=1
"4 4 default" # 1
"5 5 reserved-word" # )
)

View File

@ -31,6 +31,7 @@ BUFFER='A=1 b=("foo" bar)'
expected_region_highlight=(
"1 3 assign" # A=1
"3 3 default" # 1
"5 7 assign" # b=(
"8 12 default" # "foo"
"8 12 double-quoted-argument" # "foo"