Skip to content

Commit 97cbc57

Browse files
committed
Switch from character properties to posix sets
For compatibility with engines that use PCRE rather than Oniguruma/Onigmo we need to use POSIX groups in character classes rather than character properties. This is due to PCRE not supporting the same aliases that Oniguruma supports. #ignore
1 parent c851d49 commit 97cbc57

File tree

1 file changed

+44
-44
lines changed

1 file changed

+44
-44
lines changed

Syntaxes/Python.tmLanguage

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
<key>comment</key>
3939
<string>Match identifiers in ALL_CAPS as constants, except when followed by `.`, `(`, `'`, or `"`.</string>
4040
<key>match</key>
41-
<string>\b([\p{Upper}_][\p{Upper}\p{Digit}_]*)\b(?![\.\(\'\"])</string>
41+
<string>\b([[:upper:]_][[:upper:][:digit:]_]*)\b(?![\.\(\'\"])</string>
4242
<key>name</key>
4343
<string>constant.other.allcaps.python</string>
4444
</dict>
@@ -80,19 +80,19 @@
8080
</dict>
8181
<dict>
8282
<key>match</key>
83-
<string>\b(?i:(((\d+(\.(?=[^\p{Alpha}_])\d*)?|(?&lt;=[^\p{Alnum}_])\.\d+)(e[\-\+]?\d+)?))J)</string>
83+
<string>\b(?i:(((\d+(\.(?=[^[:alpha:]_])\d*)?|(?&lt;=[^[:alnum:]_])\.\d+)(e[\-\+]?\d+)?))J)</string>
8484
<key>name</key>
8585
<string>constant.numeric.complex.python</string>
8686
</dict>
8787
<dict>
8888
<key>match</key>
89-
<string>\b(?i:(\d+\.\d*(e[\-\+]?\d+)?))(?=[^\p{Alpha}_])</string>
89+
<string>\b(?i:(\d+\.\d*(e[\-\+]?\d+)?))(?=[^[:alpha:]_])</string>
9090
<key>name</key>
9191
<string>constant.numeric.float.python</string>
9292
</dict>
9393
<dict>
9494
<key>match</key>
95-
<string>(?&lt;=[^\p{Alnum}_])(?i:(\.\d+(e[\-\+]?\d+)?))</string>
95+
<string>(?&lt;=[^[:alnum:]_])(?i:(\.\d+(e[\-\+]?\d+)?))</string>
9696
<key>name</key>
9797
<string>constant.numeric.float.python</string>
9898
</dict>
@@ -186,7 +186,7 @@
186186
</dict>
187187
<dict>
188188
<key>begin</key>
189-
<string>^\s*(class)\s+(?=[\p{Alpha}_][\p{Alnum}_]*\s*\:)</string>
189+
<string>^\s*(class)\s+(?=[[:alpha:]_][[:alnum:]_]*\s*\:)</string>
190190
<key>beginCaptures</key>
191191
<dict>
192192
<key>1</key>
@@ -219,7 +219,7 @@
219219
</dict>
220220
<dict>
221221
<key>begin</key>
222-
<string>^\s*(class)\s+(?=[\p{Alpha}_][\p{Alnum}_]*\s*\()</string>
222+
<string>^\s*(class)\s+(?=[[:alpha:]_][[:alnum:]_]*\s*\()</string>
223223
<key>beginCaptures</key>
224224
<dict>
225225
<key>1</key>
@@ -254,11 +254,11 @@
254254
<array>
255255
<dict>
256256
<key>begin</key>
257-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
257+
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
258258
<key>contentName</key>
259259
<string>entity.name.type.class.python</string>
260260
<key>end</key>
261-
<string>(?![\p{Alnum}_])</string>
261+
<string>(?![[:alnum:]_])</string>
262262
<key>patterns</key>
263263
<array>
264264
<dict>
@@ -313,7 +313,7 @@
313313
</dict>
314314
<dict>
315315
<key>begin</key>
316-
<string>^\s*(class)\s+(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
316+
<string>^\s*(class)\s+(?=[[:alpha:]_][[:alnum:]_]*)</string>
317317
<key>beginCaptures</key>
318318
<dict>
319319
<key>1</key>
@@ -343,11 +343,11 @@
343343
<array>
344344
<dict>
345345
<key>begin</key>
346-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
346+
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
347347
<key>contentName</key>
348348
<string>entity.name.type.class.python</string>
349349
<key>end</key>
350-
<string>(?![\p{Alnum}_])</string>
350+
<string>(?![[:alnum:]_])</string>
351351
<key>patterns</key>
352352
<array>
353353
<dict>
@@ -360,7 +360,7 @@
360360
</dict>
361361
<dict>
362362
<key>begin</key>
363-
<string>\s*(?:(async)\s+)?(def)\s+(?=[\p{Alpha}_][\p{Alnum}_]*\s*\()</string>
363+
<string>\s*(?:(async)\s+)?(def)\s+(?=[[:alpha:]_][[:alnum:]_]*\s*\()</string>
364364
<key>beginCaptures</key>
365365
<dict>
366366
<key>1</key>
@@ -390,11 +390,11 @@
390390
<array>
391391
<dict>
392392
<key>begin</key>
393-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
393+
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
394394
<key>contentName</key>
395395
<string>entity.name.function.python</string>
396396
<key>end</key>
397-
<string>(?![\p{Alnum}_])</string>
397+
<string>(?![[:alnum:]_])</string>
398398
<key>patterns</key>
399399
<array>
400400
<dict>
@@ -452,7 +452,7 @@
452452
</dict>
453453
</dict>
454454
<key>match</key>
455-
<string>\b(?:(self|cls)|([\p{Alpha}_][\p{Alnum}_]*))\s*(?:(,)|(?=[\n\)]))</string>
455+
<string>\b(?:(self|cls)|([[:alpha:]_][[:alnum:]_]*))\s*(?:(,)|(?=[\n\)]))</string>
456456
</dict>
457457
</array>
458458
</dict>
@@ -486,7 +486,7 @@
486486
</dict>
487487
<dict>
488488
<key>begin</key>
489-
<string>\s*(?:(async)\s+)?(def)\s+(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
489+
<string>\s*(?:(async)\s+)?(def)\s+(?=[[:alpha:]_][[:alnum:]_]*)</string>
490490
<key>beginCaptures</key>
491491
<dict>
492492
<key>1</key>
@@ -521,11 +521,11 @@
521521
<array>
522522
<dict>
523523
<key>begin</key>
524-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
524+
<string>(?=[[:alpha:]_][[:alnum:]_]*)</string>
525525
<key>contentName</key>
526526
<string>entity.name.function.python</string>
527527
<key>end</key>
528-
<string>(?![\p{Alnum}_])</string>
528+
<string>(?![[:alnum:]_])</string>
529529
<key>patterns</key>
530530
<array>
531531
<dict>
@@ -639,15 +639,15 @@
639639
</dict>
640640
</dict>
641641
<key>match</key>
642-
<string>\b([\p{Alpha}_][\p{Alnum}_]*)\s*(?:(,)|(?=[\n\)\:]))</string>
642+
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(?:(,)|(?=[\n\)\:]))</string>
643643
</dict>
644644
</array>
645645
</dict>
646646
</array>
647647
</dict>
648648
<dict>
649649
<key>begin</key>
650-
<string>^\s*(?=@\s*[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*\s*\()</string>
650+
<string>^\s*(?=@\s*[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
651651
<key>comment</key>
652652
<string>a decorator may be a function call which returns a decorator.</string>
653653
<key>end</key>
@@ -666,7 +666,7 @@
666666
<array>
667667
<dict>
668668
<key>begin</key>
669-
<string>(?=(@)\s*[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*\s*\()</string>
669+
<string>(?=(@)\s*[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
670670
<key>beginCaptures</key>
671671
<dict>
672672
<key>1</key>
@@ -718,7 +718,7 @@
718718
</dict>
719719
<dict>
720720
<key>begin</key>
721-
<string>^\s*(?=@\s*[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*)</string>
721+
<string>^\s*(?=@\s*[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*)</string>
722722
<key>contentName</key>
723723
<string>entity.name.function.decorator.python</string>
724724
<key>end</key>
@@ -729,7 +729,7 @@
729729
<array>
730730
<dict>
731731
<key>begin</key>
732-
<string>(?=(@)\s*[\p{Alpha}_][\p{Alnum}_]*(\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*)</string>
732+
<string>(?=(@)\s*[[:alpha:]_][[:alnum:]_]*(\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*)</string>
733733
<key>beginCaptures</key>
734734
<dict>
735735
<key>1</key>
@@ -896,7 +896,7 @@
896896
</dict>
897897
<dict>
898898
<key>begin</key>
899-
<string>(?:\.)?([\p{Alpha}_][\p{Alnum}_]*)\s*(?=(\())</string>
899+
<string>(?:\.)?([[:alpha:]_][[:alnum:]_]*)\s*(?=(\())</string>
900900
<key>beginCaptures</key>
901901
<dict>
902902
<key>1</key>
@@ -958,7 +958,7 @@
958958
</dict>
959959
<dict>
960960
<key>begin</key>
961-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*\s*\[)</string>
961+
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\[)</string>
962962
<key>end</key>
963963
<string>(\])</string>
964964
<key>endCaptures</key>
@@ -975,7 +975,7 @@
975975
<array>
976976
<dict>
977977
<key>begin</key>
978-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*\s*\[)</string>
978+
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\[)</string>
979979
<key>end</key>
980980
<string>(?=\s*\[)</string>
981981
<key>patterns</key>
@@ -1264,7 +1264,7 @@
12641264
<key>annotated_arguments</key>
12651265
<dict>
12661266
<key>begin</key>
1267-
<string>\b([\p{Alpha}_][\p{Alnum}_]*)\s*(:)|(?=\()</string>
1267+
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(:)|(?=\()</string>
12681268
<key>beginCaptures</key>
12691269
<dict>
12701270
<key>1</key>
@@ -1332,7 +1332,7 @@
13321332
<array>
13331333
<dict>
13341334
<key>begin</key>
1335-
<string>\b([\p{Alpha}_][\p{Alnum}_]*)\s*(:)</string>
1335+
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(:)</string>
13361336
<key>beginCaptures</key>
13371337
<dict>
13381338
<key>1</key>
@@ -1366,7 +1366,7 @@
13661366
</dict>
13671367
<dict>
13681368
<key>begin</key>
1369-
<string>\b([\p{Alpha}_][\p{Alnum}_]*)</string>
1369+
<string>\b([[:alpha:]_][[:alnum:]_]*)</string>
13701370
<key>beginCaptures</key>
13711371
<dict>
13721372
<key>1</key>
@@ -1437,7 +1437,7 @@
14371437
<array>
14381438
<dict>
14391439
<key>begin</key>
1440-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*\s*\()</string>
1440+
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
14411441
<key>end</key>
14421442
<string>(?=\s*\()</string>
14431443
<key>patterns</key>
@@ -1553,7 +1553,7 @@
15531553
<key>constant_placeholder</key>
15541554
<dict>
15551555
<key>match</key>
1556-
<string>(?i:(%(\([\p{Lower}_]+\))?#?0?\-?[ ]?\+?([0-9]*|\*)(\.([0-9]*|\*))?[hL]?[\p{Lower}%])|(\{([!\[\].:\w ]+)?\}))</string>
1556+
<string>(?i:(%(\([[:lower:]_]+\))?#?0?\-?[ ]?\+?([0-9]*|\*)(\.([0-9]*|\*))?[hL]?[[:lower:]%])|(\{([!\[\].:\w ]+)?\}))</string>
15571557
<key>name</key>
15581558
<string>constant.other.placeholder.python</string>
15591559
</dict>
@@ -1596,14 +1596,14 @@
15961596
<key>dotted_name</key>
15971597
<dict>
15981598
<key>begin</key>
1599-
<string>(?=(?:\.(?!\s+import)\s*)?[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*)</string>
1599+
<string>(?=(?:\.(?!\s+import)\s*)?[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*)</string>
16001600
<key>end</key>
1601-
<string>(?![\p{Alnum}_\.\s])|(?=(?&lt;!\.)\s+[^.])|$</string>
1601+
<string>(?![[:alnum:]_\.\s])|(?=(?&lt;!\.)\s+[^.])|$</string>
16021602
<key>patterns</key>
16031603
<array>
16041604
<dict>
16051605
<key>begin</key>
1606-
<string>(\.)(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
1606+
<string>(\.)(?=[[:alpha:]_][[:alnum:]_]*)</string>
16071607
<key>beginCaptures</key>
16081608
<dict>
16091609
<key>1</key>
@@ -1613,7 +1613,7 @@
16131613
</dict>
16141614
</dict>
16151615
<key>end</key>
1616-
<string>(?![\p{Alnum}_])</string>
1616+
<string>(?![[:alnum:]_])</string>
16171617
<key>patterns</key>
16181618
<array>
16191619
<dict>
@@ -1640,9 +1640,9 @@
16401640
</dict>
16411641
<dict>
16421642
<key>begin</key>
1643-
<string>(?&lt;!\.)(?=[\p{Alpha}_][\p{Alnum}_]*)</string>
1643+
<string>(?&lt;!\.)(?=[[:alpha:]_][[:alnum:]_]*)</string>
16441644
<key>end</key>
1645-
<string>(?![\p{Alnum}_])</string>
1645+
<string>(?![[:alnum:]_])</string>
16461646
<key>patterns</key>
16471647
<array>
16481648
<dict>
@@ -1735,18 +1735,18 @@
17351735
Memory | Name | NotImplemented | OS | Overflow | Reference | Runtime |
17361736
Recursion | Standard | Syntax | System | Tab | Type | UnboundLocal |
17371737
Unicode(Encode | Decode | Translate)? | Value | VMS | Windows |
1738-
ZeroDivision | ([\p{Alpha}_][\p{Alnum}_]*))
1738+
ZeroDivision | ([[:alpha:]_][[:alnum:]_]*))
17391739
?Error
17401740
|
17411741
(
17421742
(Pending)?Deprecation | Bytes | Future | Import | Resource |
1743-
Runtime | Syntax | Unicode | User | [\p{Alpha}_][\p{Alnum}_]*)
1743+
Runtime | Syntax | Unicode | User | [[:alpha:]_][[:alnum:]_]*)
17441744
?Warning
17451745
|
17461746
SystemExit | Stop(Async)?Iteration | NotImplemented |
17471747
KeyboardInterrupt | GeneratorExit
17481748
|
1749-
([\p{Alpha}_][\p{Alnum}_]*)
1749+
([[:alpha:]_][[:alnum:]_]*)
17501750
?Exception
17511751
)
17521752
\b</string>
@@ -1866,14 +1866,14 @@
18661866
<key>generic_names</key>
18671867
<dict>
18681868
<key>match</key>
1869-
<string>[\p{Alpha}_][\p{Alnum}_]*</string>
1869+
<string>[[:alpha:]_][[:alnum:]_]*</string>
18701870
<key>name</key>
18711871
<string>meta.identifier.python</string>
18721872
</dict>
18731873
<key>generic_object_names</key>
18741874
<dict>
18751875
<key>match</key>
1876-
<string>(\.\b([\p{Alpha}_][\p{Alnum}_]*)\b(?!\(|\[)|\b([\p{Alpha}_][\p{Alnum}_]*)\b\.)</string>
1876+
<string>(\.\b([[:alpha:]_][[:alnum:]_]*)\b(?!\(|\[)|\b([[:alpha:]_][[:alnum:]_]*)\b\.)</string>
18771877
</dict>
18781878
<key>illegal_names</key>
18791879
<dict>
@@ -1893,7 +1893,7 @@
18931893
<key>keyword_arguments</key>
18941894
<dict>
18951895
<key>begin</key>
1896-
<string>\b([\p{Alpha}_][\p{Alnum}_]*)\s*(=)(?!=)</string>
1896+
<string>\b([[:alpha:]_][[:alnum:]_]*)\s*(=)(?!=)</string>
18971897
<key>beginCaptures</key>
18981898
<dict>
18991899
<key>1</key>
@@ -2013,7 +2013,7 @@
20132013
<array>
20142014
<dict>
20152015
<key>begin</key>
2016-
<string>(?=[\p{Alpha}_][\p{Alnum}_]*(?:\s*\.\s*[\p{Alpha}_][\p{Alnum}_]*)*\s*\()</string>
2016+
<string>(?=[[:alpha:]_][[:alnum:]_]*(?:\s*\.\s*[[:alpha:]_][[:alnum:]_]*)*\s*\()</string>
20172017
<key>end</key>
20182018
<string>(?=\s*\()</string>
20192019
<key>patterns</key>

0 commit comments

Comments
 (0)