Skip to content

Commit c3adff6

Browse files
committed
Ticket #4715: fix basic heredoc highlighting for shell syntax
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
1 parent f9ef906 commit c3adff6

File tree

1 file changed

+57
-3
lines changed

1 file changed

+57
-3
lines changed

misc/syntax/sh.syntax

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1091,11 +1091,18 @@ wholechars abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_
10911091
context # \n brown
10921092
spellcheck
10931093

1094-
context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]EOF EOF green
1095-
context exclusive whole <<\[\s\]\[-\]\[\s\]\[\\\]END END green
1096-
10971094
context ' ' green
10981095

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+
10991106
context " " green
11001107
keyword \\* brightgreen
11011108
keyword \\@ brightgreen
@@ -1119,6 +1126,53 @@ context " " green
11191126

11201127
keyword $ brightgreen
11211128

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+
11221176
context exclusive ` ` lightgray black
11231177
keyword '*' green
11241178
keyword " green

0 commit comments

Comments
 (0)