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}
@@ -827,7 +830,7 @@ _zsh_highlight_main_highlighter_highlight_argument()
827
830
# Highlight single-quoted strings
828
831
_zsh_highlight_main_highlighter_highlight_single_quote ()
829
832
{
830
- local arg1=$1 i q=\'
833
+ local arg1=$1 i q=\' style
831
834
local -a highlights
832
835
i=$arg [(ib:arg1+1:)$q ]
833
836
@@ -838,7 +841,12 @@ _zsh_highlight_main_highlighter_highlight_single_quote()
838
841
done
839
842
fi
840
843
841
- highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) single-quoted-argument $highlights )
844
+ if [[ $arg [i] == " '" ]]; then
845
+ style=single-quoted-argument
846
+ else
847
+ style=single-quoted-argument-unclosed
848
+ fi
849
+ highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $highlights )
842
850
_zsh_highlight_main_add_region_highlights $highlights
843
851
REPLY=$i
844
852
}
@@ -898,7 +906,12 @@ _zsh_highlight_main_highlighter_highlight_double_quote()
898
906
highlights+=($j $k $style )
899
907
done
900
908
901
- highlights=($(( start_pos + $1 - 1 )) $(( start_pos + i )) double-quoted-argument $highlights )
909
+ if [[ $arg [i] == ' "' ]]; then
910
+ style=double-quoted-argument
911
+ else
912
+ style=double-quoted-argument-unclosed
913
+ fi
914
+ highlights=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $highlights )
902
915
_zsh_highlight_main_add_region_highlights $highlights
903
916
REPLY=$i
904
917
}
@@ -945,7 +958,12 @@ _zsh_highlight_main_highlighter_highlight_dollar_quote()
945
958
highlights+=($j $k $style )
946
959
done
947
960
948
- highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) dollar-quoted-argument $highlights )
961
+ if [[ $arg [i] == " '" ]]; then
962
+ style=dollar-quoted-argument
963
+ else
964
+ style=dollar-quoted-argument-unclosed
965
+ fi
966
+ highlights+=($(( start_pos + $1 - 1 )) $(( start_pos + i )) $style $highlights )
949
967
_zsh_highlight_main_add_region_highlights $highlights
950
968
REPLY=$i
951
969
}
0 commit comments