44
44
: ${ZSH_HIGHLIGHT_STYLES[double-hyphen-option]:= none}
45
45
: ${ZSH_HIGHLIGHT_STYLES[back-quoted-argument]:= none}
46
46
: ${ZSH_HIGHLIGHT_STYLES[single-quoted-argument]:= fg=yellow}
47
+ : ${ZSH_HIGHLIGHT_STYLES[single-quoted-argument-unclosed]:= fg=yellow}
47
48
: ${ZSH_HIGHLIGHT_STYLES[double-quoted-argument]:= fg=yellow}
49
+ : ${ZSH_HIGHLIGHT_STYLES[double-quoted-argument-unclosed]:= fg=yellow}
48
50
: ${ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument]:= fg=yellow}
51
+ : ${ZSH_HIGHLIGHT_STYLES[dollar-quoted-argument-unclosed]:= fg=yellow}
49
52
: ${ZSH_HIGHLIGHT_STYLES[rc-quote]:= fg=cyan}
50
53
: ${ZSH_HIGHLIGHT_STYLES[dollar-double-quoted-argument]:= fg=cyan}
51
54
: ${ZSH_HIGHLIGHT_STYLES[back-double-quoted-argument]:= fg=cyan}
@@ -839,7 +842,7 @@ _zsh_highlight_main_highlighter_highlight_argument()
839
842
# Highlight single-quoted strings
840
843
_zsh_highlight_main_highlighter_highlight_single_quote ()
841
844
{
842
- local arg1=$1 i q=\'
845
+ local arg1=$1 i q=\' style
843
846
local -a highlights
844
847
i=$arg [(ib:arg1+1:)$q ]
845
848
@@ -850,7 +853,12 @@ _zsh_highlight_main_highlighter_highlight_single_quote()
850
853
done
851
854
fi
852
855
853
- highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) single-quoted-argument $highlights )
856
+ if [[ $arg [i] == " '" ]]; then
857
+ style=single-quoted-argument
858
+ else
859
+ style=single-quoted-argument-unclosed
860
+ fi
861
+ highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $highlights )
854
862
_zsh_highlight_main_add_region_highlights $highlights
855
863
REPLY=$i
856
864
}
@@ -910,7 +918,12 @@ _zsh_highlight_main_highlighter_highlight_double_quote()
910
918
highlights+=($j $k $style )
911
919
done
912
920
913
- highlights=($(( start_pos + $1 - 1 )) $(( start_pos + i )) double-quoted-argument $highlights )
921
+ if [[ $arg [i] == ' "' ]]; then
922
+ style=double-quoted-argument
923
+ else
924
+ style=double-quoted-argument-unclosed
925
+ fi
926
+ highlights=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $highlights )
914
927
_zsh_highlight_main_add_region_highlights $highlights
915
928
REPLY=$i
916
929
}
@@ -957,7 +970,12 @@ _zsh_highlight_main_highlighter_highlight_dollar_quote()
957
970
highlights+=($j $k $style )
958
971
done
959
972
960
- highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) dollar-quoted-argument $highlights )
973
+ if [[ $arg [i] == " '" ]]; then
974
+ style=dollar-quoted-argument
975
+ else
976
+ style=dollar-quoted-argument-unclosed
977
+ fi
978
+ highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $highlights )
961
979
_zsh_highlight_main_add_region_highlights $highlights
962
980
REPLY=$i
963
981
}
0 commit comments