@@ -1091,11 +1091,18 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
1091
1091
context # \n brown
1092
1092
spellcheck
1093
1093
1094
- context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]EOF EOF green
1095
- context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]END END green
1096
-
1097
1094
context ' ' green
1098
1095
1096
+ # Basic support for heredocs with suppressed variable expansion ('exclusive' keyword breaks the matching)
1097
+ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'"\\
1098
+ context whole <<\[\s\]\[-\]\[\s\]\\EOF EOF green
1099
+ context whole <<\[\s\]\[-\]\[\s\]\\END END green
1100
+ context whole <<\[\s\]\[-\]\[\s\]'EOF' EOF green
1101
+ context whole <<\[\s\]\[-\]\[\s\]'END' END green
1102
+ context whole <<\[\s\]\[-\]\[\s\]"EOF" EOF green
1103
+ context whole <<\[\s\]\[-\]\[\s\]"END" END green
1104
+ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
1105
+
1099
1106
context " " green
1100
1107
keyword \\* brightgreen
1101
1108
keyword \\@ brightgreen
@@ -1119,6 +1126,53 @@ context " " green
1119
1126
1120
1127
keyword $ brightgreen
1121
1128
1129
+ # Basic support for heredocs with variable expansion
1130
+ context whole <<\[\s\]\[-\]\[\s\]EOF EOF green
1131
+ keyword \\* brightgreen
1132
+ keyword \\@ brightgreen
1133
+ keyword \\$ brightgreen
1134
+ keyword \\\\ brightgreen
1135
+ keyword \\` brightgreen
1136
+ keyword \\" brightgreen
1137
+ keyword $(*) brightgreen
1138
+ keyword ${*} brightgreen
1139
+ keyword $\* brightred
1140
+ keyword $@ brightred
1141
+ keyword $# brightred
1142
+ keyword $? brightred
1143
+ keyword $- brightred
1144
+ keyword $$ brightred
1145
+ keyword $! brightred
1146
+ keyword $_ brightred
1147
+ keyword wholeright $\[0123456789\] brightred
1148
+
1149
+ keyword wholeright $+ brightgreen
1150
+
1151
+ keyword $ brightgreen
1152
+
1153
+ context whole <<\[\s\]\[-\]\[\s\]END END green
1154
+ keyword \\* brightgreen
1155
+ keyword \\@ brightgreen
1156
+ keyword \\$ brightgreen
1157
+ keyword \\\\ brightgreen
1158
+ keyword \\` brightgreen
1159
+ keyword \\" brightgreen
1160
+ keyword $(*) brightgreen
1161
+ keyword ${*} brightgreen
1162
+ keyword $\* brightred
1163
+ keyword $@ brightred
1164
+ keyword $# brightred
1165
+ keyword $? brightred
1166
+ keyword $- brightred
1167
+ keyword $$ brightred
1168
+ keyword $! brightred
1169
+ keyword $_ brightred
1170
+ keyword wholeright $\[0123456789\] brightred
1171
+
1172
+ keyword wholeright $+ brightgreen
1173
+
1174
+ keyword $ brightgreen
1175
+
1122
1176
context exclusive ` ` lightgray black
1123
1177
keyword '*' green
1124
1178
keyword " green
0 commit comments