Skip to content

Commit c851d49

Browse files
committed
Limit scope of SQL language include
By pre-matching the snippet passed to the SQL grammar we prevent matches that consume an entire line from breaking the syntax matching. Only doing this for single-line strings because there are block contexts to consider for multi-line strings.
1 parent 3c402fa commit c851d49

File tree

1 file changed

+54
-28
lines changed

1 file changed

+54
-28
lines changed

Syntaxes/Python.tmLanguage

Lines changed: 54 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2951,20 +2951,33 @@
29512951
<key>patterns</key>
29522952
<array>
29532953
<dict>
2954-
<key>include</key>
2955-
<string>#constant_placeholder</string>
2956-
</dict>
2957-
<dict>
2958-
<key>include</key>
2959-
<string>#escaped_unicode_char</string>
2960-
</dict>
2961-
<dict>
2962-
<key>include</key>
2963-
<string>#escaped_char</string>
2964-
</dict>
2965-
<dict>
2966-
<key>include</key>
2967-
<string>source.sql</string>
2954+
<key>captures</key>
2955+
<dict>
2956+
<key>0</key>
2957+
<dict>
2958+
<key>patterns</key>
2959+
<array>
2960+
<dict>
2961+
<key>include</key>
2962+
<string>#constant_placeholder</string>
2963+
</dict>
2964+
<dict>
2965+
<key>include</key>
2966+
<string>#escaped_unicode_char</string>
2967+
</dict>
2968+
<dict>
2969+
<key>include</key>
2970+
<string>#escaped_char</string>
2971+
</dict>
2972+
<dict>
2973+
<key>include</key>
2974+
<string>source.sql</string>
2975+
</dict>
2976+
</array>
2977+
</dict>
2978+
</dict>
2979+
<key>match</key>
2980+
<string>(\G|^)([^"\\]|\\.)*(?="|$)</string>
29682981
</dict>
29692982
</array>
29702983
</dict>
@@ -3875,20 +3888,33 @@
38753888
<key>patterns</key>
38763889
<array>
38773890
<dict>
3878-
<key>include</key>
3879-
<string>#constant_placeholder</string>
3880-
</dict>
3881-
<dict>
3882-
<key>include</key>
3883-
<string>#escaped_unicode_char</string>
3884-
</dict>
3885-
<dict>
3886-
<key>include</key>
3887-
<string>#escaped_char</string>
3888-
</dict>
3889-
<dict>
3890-
<key>include</key>
3891-
<string>source.sql</string>
3891+
<key>captures</key>
3892+
<dict>
3893+
<key>0</key>
3894+
<dict>
3895+
<key>patterns</key>
3896+
<array>
3897+
<dict>
3898+
<key>include</key>
3899+
<string>#constant_placeholder</string>
3900+
</dict>
3901+
<dict>
3902+
<key>include</key>
3903+
<string>#escaped_unicode_char</string>
3904+
</dict>
3905+
<dict>
3906+
<key>include</key>
3907+
<string>#escaped_char</string>
3908+
</dict>
3909+
<dict>
3910+
<key>include</key>
3911+
<string>source.sql</string>
3912+
</dict>
3913+
</array>
3914+
</dict>
3915+
</dict>
3916+
<key>match</key>
3917+
<string>(\G|^)([^'\\]|\\.)*(?='|$)</string>
38923918
</dict>
38933919
</array>
38943920
</dict>

0 commit comments

Comments
 (0)