github-linguist 4.8.8 → 4.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/hint.haskell.json +1123 -0
- data/grammars/hint.message.haskell.json +1147 -0
- data/grammars/hint.type.haskell.json +1120 -0
- data/grammars/source.asn.json +59 -0
- data/grammars/source.blitzmax.json +0 -2
- data/grammars/source.bsl.json +372 -0
- data/grammars/source.c++.json +67 -0
- data/grammars/source.c2hs.json +27 -0
- data/grammars/source.cabal.json +66 -0
- data/grammars/source.coffee.json +6 -5
- data/grammars/source.crystal.json +0 -11
- data/grammars/source.csound-score.json +3 -3
- data/grammars/source.csound.json +51 -15
- data/grammars/source.css.json +1 -1
- data/grammars/source.css.less.json +9 -5
- data/grammars/source.cython.json +42 -193
- data/grammars/source.d.json +7 -7
- data/grammars/source.elixir.json +2 -2
- data/grammars/source.forth.json +0 -2
- data/grammars/source.graphql.json +8 -2
- data/grammars/source.haskell.json +1089 -323
- data/grammars/source.hsc2hs.json +12 -0
- data/grammars/source.ideal.json +356 -0
- data/grammars/source.java.json +3 -0
- data/grammars/source.js.json +262 -131
- data/grammars/source.js.jsx.json +848 -256
- data/grammars/source.lsl.json +51 -103
- data/grammars/source.objc.json +1 -1
- data/grammars/source.parrot.pir.json +49 -15
- data/grammars/source.pic.json +868 -0
- data/grammars/source.purescript.json +114 -90
- data/grammars/source.python.json +11 -9
- data/grammars/source.regexp.babel.json +1 -1
- data/grammars/source.renpy.json +7 -7
- data/grammars/source.rexx.json +59 -0
- data/grammars/source.sas.json +8 -75
- data/grammars/source.sdbl.json +97 -0
- data/grammars/source.shell.json +1 -0
- data/grammars/source.smali.json +2 -2
- data/grammars/source.sqf.json +11 -11
- data/grammars/source.stan.json +60 -25
- data/grammars/source.tla.json +18 -6
- data/grammars/source.toc.json +5 -1
- data/grammars/source.ts.json +134 -31
- data/grammars/source.tsx.json +134 -31
- data/grammars/source.vhdl.json +150 -117
- data/grammars/source.viml.json +4 -4
- data/grammars/source.xquery.json +23 -5
- data/grammars/source.yaml.json +35 -19
- data/grammars/text.html.handlebars.json +2 -2
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.twig.json +1 -4
- data/grammars/text.html.vue.json +41 -1
- data/grammars/text.restructuredtext.json +56 -1
- data/grammars/text.roff.json +5089 -0
- data/grammars/text.runoff.json +321 -0
- data/grammars/text.slim.json +126 -105
- data/grammars/text.tex.latex.haskell.json +1335 -21
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +58 -3
- data/lib/linguist/samples.json +5257 -76
- data/lib/linguist/version.rb +1 -1
- metadata +16 -4
- data/grammars/source.man.json +0 -53
- data/grammars/text.groff.json +0 -113
@@ -14,7 +14,7 @@
|
|
14
14
|
"operatorFun": "(?:\\((?!--+\\))[\\p{S}\\p{P}&&[^(),;\\[\\]`{}_\"']]+\\))",
|
15
15
|
"character": "(?:[ -\\[\\]-~]|(\\\\(?:NUL|SOH|STX|ETX|EOT|ENQ|ACK|BEL|BS|HT|LF|VT|FF|CR|SO|SI|DLE|DC1|DC2|DC3|DC4|NAK|SYN|ETB|CAN|EM|SUB|ESC|FS|GS|RS|US|SP|DEL|[abfnrtv\\\\\\\"'\\&]))|(\\\\o[0-7]+)|(\\\\x[0-9A-Fa-f]+)|(\\^[A-Z@\\[\\]\\\\\\^_]))",
|
16
16
|
"classConstraint": "(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?)))",
|
17
|
-
"functionTypeDeclaration": "(
|
17
|
+
"functionTypeDeclaration": "([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)",
|
18
18
|
"ctorArgs": "(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+)",
|
19
19
|
"ctor": "(?:(?:\\b([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<ctorArgs>(?:(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|(?:(?:[\\w()'→⇒\\[\\],]|->|=>)+\\s*)+))(?:\\s*(?:\\s+)\\s*\\g<ctorArgs>)?)?))",
|
20
20
|
"typeDecl": ".+?",
|
@@ -35,33 +35,9 @@
|
|
35
35
|
}
|
36
36
|
}
|
37
37
|
},
|
38
|
-
{
|
39
|
-
"begin": "(\\[)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(\\|)",
|
40
|
-
"end": "(\\|)(\\])",
|
41
|
-
"beginCaptures": {
|
42
|
-
"1": {
|
43
|
-
"name": "punctuation.definition.quasiquotes.begin.purescript"
|
44
|
-
},
|
45
|
-
"2": {
|
46
|
-
"name": "entity.name.tag.purescript"
|
47
|
-
},
|
48
|
-
"3": {
|
49
|
-
"name": "string.quoted.quasiquotes.purescript"
|
50
|
-
}
|
51
|
-
},
|
52
|
-
"endCaptures": {
|
53
|
-
"1": {
|
54
|
-
"name": "string.quoted.quasiquotes.purescript"
|
55
|
-
},
|
56
|
-
"2": {
|
57
|
-
"name": "punctuation.definition.quasiquotes.end.purescript"
|
58
|
-
}
|
59
|
-
},
|
60
|
-
"contentName": "string.quoted.quasiquotes.purescript"
|
61
|
-
},
|
62
38
|
{
|
63
39
|
"name": "meta.declaration.module.purescript",
|
64
|
-
"begin": "\\b(module)\\b",
|
40
|
+
"begin": "\\b(module)(?!')\\b",
|
65
41
|
"end": "(where)",
|
66
42
|
"beginCaptures": {
|
67
43
|
"1": {
|
@@ -91,7 +67,7 @@
|
|
91
67
|
},
|
92
68
|
{
|
93
69
|
"name": "meta.declaration.typeclass.purescript",
|
94
|
-
"begin": "\\b(class)\\b",
|
70
|
+
"begin": "\\b(class)(?!')\\b",
|
95
71
|
"end": "\\b(where)\\b|$",
|
96
72
|
"beginCaptures": {
|
97
73
|
"1": {
|
@@ -111,7 +87,7 @@
|
|
111
87
|
},
|
112
88
|
{
|
113
89
|
"name": "meta.declaration.instance.purescript",
|
114
|
-
"begin": "\\b(instance)\\b",
|
90
|
+
"begin": "\\b(instance)(?!')\\b",
|
115
91
|
"end": "\\b(where)\\b|$",
|
116
92
|
"contentName": "meta.type-signature.purescript",
|
117
93
|
"beginCaptures": {
|
@@ -131,10 +107,10 @@
|
|
131
107
|
]
|
132
108
|
},
|
133
109
|
{
|
134
|
-
"name": "meta.foreign.purescript",
|
135
|
-
"begin": "^(\\s*)(foreign)\\s+(import)\\s+(
|
110
|
+
"name": "meta.foreign.data.purescript",
|
111
|
+
"begin": "^(\\s*)(foreign)\\s+(import)\\s+(data)\\s+([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)",
|
136
112
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
137
|
-
"contentName": "meta.
|
113
|
+
"contentName": "meta.kind-signature.purescript",
|
138
114
|
"beginCaptures": {
|
139
115
|
"2": {
|
140
116
|
"name": "keyword.other.purescript"
|
@@ -143,18 +119,44 @@
|
|
143
119
|
"name": "keyword.other.purescript"
|
144
120
|
},
|
145
121
|
"4": {
|
146
|
-
"
|
147
|
-
{
|
148
|
-
"name": "entity.name.function.purescript",
|
149
|
-
"match": "(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"
|
150
|
-
}
|
151
|
-
]
|
122
|
+
"name": "keyword.other.purescript"
|
152
123
|
},
|
153
124
|
"5": {
|
125
|
+
"name": "entity.name.type.purescript"
|
126
|
+
},
|
127
|
+
"6": {
|
154
128
|
"name": "keyword.other.double-colon.purescript"
|
155
129
|
}
|
156
130
|
},
|
157
131
|
"patterns": [
|
132
|
+
{
|
133
|
+
"include": "#double_colon"
|
134
|
+
},
|
135
|
+
{
|
136
|
+
"include": "#kind_signature"
|
137
|
+
}
|
138
|
+
]
|
139
|
+
},
|
140
|
+
{
|
141
|
+
"name": "meta.foreign.purescript",
|
142
|
+
"begin": "^(\\s*)(foreign)\\s+(import)\\s+([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)",
|
143
|
+
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
144
|
+
"contentName": "meta.type-signature.purescript",
|
145
|
+
"beginCaptures": {
|
146
|
+
"2": {
|
147
|
+
"name": "keyword.other.purescript"
|
148
|
+
},
|
149
|
+
"3": {
|
150
|
+
"name": "keyword.other.purescript"
|
151
|
+
},
|
152
|
+
"4": {
|
153
|
+
"name": "entity.name.function.purescript"
|
154
|
+
}
|
155
|
+
},
|
156
|
+
"patterns": [
|
157
|
+
{
|
158
|
+
"include": "#double_colon"
|
159
|
+
},
|
158
160
|
{
|
159
161
|
"include": "#type_signature"
|
160
162
|
}
|
@@ -162,8 +164,8 @@
|
|
162
164
|
},
|
163
165
|
{
|
164
166
|
"name": "meta.import.purescript",
|
165
|
-
"begin": "\\b(import)\\b",
|
166
|
-
"end": "(
|
167
|
+
"begin": "\\b(import)(?!')\\b",
|
168
|
+
"end": "($|(?=--))",
|
167
169
|
"beginCaptures": {
|
168
170
|
"1": {
|
169
171
|
"name": "keyword.other.purescript"
|
@@ -177,7 +179,7 @@
|
|
177
179
|
"include": "#module_exports"
|
178
180
|
},
|
179
181
|
{
|
180
|
-
"match": "\\b(
|
182
|
+
"match": "\\b(as|hiding)\\b",
|
181
183
|
"captures": {
|
182
184
|
"1": {
|
183
185
|
"name": "keyword.other.purescript"
|
@@ -306,24 +308,28 @@
|
|
306
308
|
},
|
307
309
|
{
|
308
310
|
"name": "keyword.other.purescript",
|
309
|
-
"match": "\\b(derive|where|data|type|newtype)\\b"
|
311
|
+
"match": "\\b(derive|where|data|type|newtype|infix[lr]?|foreign)(?!')\\b"
|
310
312
|
},
|
311
313
|
{
|
312
|
-
"name": "
|
313
|
-
"match": "\\
|
314
|
+
"name": "entity.name.function.typed-hole.purescript",
|
315
|
+
"match": "\\?(?:[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*|[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)"
|
314
316
|
},
|
315
317
|
{
|
316
|
-
"name": "
|
317
|
-
"match": "\\
|
318
|
+
"name": "storage.type.purescript",
|
319
|
+
"match": "\\b(data|type|newtype)(?!')\\b"
|
318
320
|
},
|
319
321
|
{
|
320
322
|
"name": "keyword.control.purescript",
|
321
|
-
"match": "\\b(do|if|then|else|case|of|let|in)\\b"
|
323
|
+
"match": "\\b(do|if|then|else|case|of|let|in)(?!')\\b"
|
322
324
|
},
|
323
325
|
{
|
324
326
|
"name": "constant.numeric.float.purescript",
|
325
327
|
"match": "\\b([0-9]+\\.[0-9]+([eE][+-]?[0-9]+)?|[0-9]+[eE][+-]?[0-9]+)\\b"
|
326
328
|
},
|
329
|
+
{
|
330
|
+
"name": "constant.language.boolean.purescript",
|
331
|
+
"match": "\\b(true|false)\\b"
|
332
|
+
},
|
327
333
|
{
|
328
334
|
"name": "constant.numeric.purescript",
|
329
335
|
"match": "\\b([0-9]+|0([xX][0-9a-fA-F]+|[oO][0-7]+))\\b"
|
@@ -433,20 +439,18 @@
|
|
433
439
|
}
|
434
440
|
},
|
435
441
|
{
|
436
|
-
"
|
437
|
-
"
|
438
|
-
"1": {
|
439
|
-
"name": "keyword.other.double-colon.purescript"
|
440
|
-
},
|
442
|
+
"begin": "^(\\s*)(?:(::|∷))",
|
443
|
+
"beginCaptures": {
|
441
444
|
"2": {
|
442
|
-
"name": "
|
443
|
-
"patterns": [
|
444
|
-
{
|
445
|
-
"include": "#type_signature"
|
446
|
-
}
|
447
|
-
]
|
445
|
+
"name": "keyword.other.double-colon.purescript"
|
448
446
|
}
|
449
|
-
}
|
447
|
+
},
|
448
|
+
"end": "^(?!\\1[ \\t]*|[ \\t]*$)",
|
449
|
+
"patterns": [
|
450
|
+
{
|
451
|
+
"include": "#type_signature"
|
452
|
+
}
|
453
|
+
]
|
450
454
|
},
|
451
455
|
{
|
452
456
|
"include": "#data_ctor"
|
@@ -474,18 +478,18 @@
|
|
474
478
|
"block_comment": {
|
475
479
|
"patterns": [
|
476
480
|
{
|
477
|
-
"name": "comment.block.
|
478
|
-
"begin": "\\{-\\s
|
481
|
+
"name": "comment.block.documentation.purescript",
|
482
|
+
"begin": "\\{-\\s*\\|",
|
479
483
|
"end": "-\\}",
|
480
484
|
"applyEndPatternLast": 1,
|
481
485
|
"beginCaptures": {
|
482
486
|
"0": {
|
483
|
-
"name": "punctuation.definition.comment.
|
487
|
+
"name": "punctuation.definition.comment.documentation.purescript"
|
484
488
|
}
|
485
489
|
},
|
486
490
|
"endCaptures": {
|
487
491
|
"0": {
|
488
|
-
"name": "punctuation.definition.comment.
|
492
|
+
"name": "punctuation.definition.comment.documentation.purescript"
|
489
493
|
}
|
490
494
|
},
|
491
495
|
"patterns": [
|
@@ -496,7 +500,7 @@
|
|
496
500
|
},
|
497
501
|
{
|
498
502
|
"name": "comment.block.purescript",
|
499
|
-
"begin": "\\{-
|
503
|
+
"begin": "\\{-",
|
500
504
|
"end": "-\\}",
|
501
505
|
"applyEndPatternLast": 1,
|
502
506
|
"beginCaptures": {
|
@@ -515,7 +519,7 @@
|
|
515
519
|
"comments": {
|
516
520
|
"patterns": [
|
517
521
|
{
|
518
|
-
"begin": "(^[ \\t]+)?(?=--+\\s
|
522
|
+
"begin": "(^[ \\t]+)?(?=--+\\s+\\|)",
|
519
523
|
"end": "(?!\\G)",
|
520
524
|
"beginCaptures": {
|
521
525
|
"1": {
|
@@ -524,15 +528,15 @@
|
|
524
528
|
},
|
525
529
|
"patterns": [
|
526
530
|
{
|
527
|
-
"name": "comment.line.double-dash.
|
528
|
-
"begin": "(--+)\\s+(
|
531
|
+
"name": "comment.line.double-dash.documentation.purescript",
|
532
|
+
"begin": "(--+)\\s+(\\|)",
|
529
533
|
"end": "\\n",
|
530
534
|
"beginCaptures": {
|
531
535
|
"1": {
|
532
536
|
"name": "punctuation.definition.comment.purescript"
|
533
537
|
},
|
534
538
|
"2": {
|
535
|
-
"name": "punctuation.definition.comment.
|
539
|
+
"name": "punctuation.definition.comment.documentation.purescript"
|
536
540
|
}
|
537
541
|
}
|
538
542
|
}
|
@@ -637,26 +641,21 @@
|
|
637
641
|
"patterns": [
|
638
642
|
{
|
639
643
|
"name": "meta.function.type-declaration.purescript",
|
640
|
-
"begin": "(
|
644
|
+
"begin": "^(\\s*)([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(?:(::|∷)(?!.*<-))",
|
641
645
|
"end": "^(?!\\1[ \\t]|[ \\t]*$)",
|
642
646
|
"contentName": "meta.type-signature.purescript",
|
643
647
|
"beginCaptures": {
|
644
648
|
"2": {
|
645
|
-
"
|
646
|
-
{
|
647
|
-
"name": "entity.name.function.purescript",
|
648
|
-
"match": "(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"
|
649
|
-
},
|
650
|
-
{
|
651
|
-
"include": "#infix_op"
|
652
|
-
}
|
653
|
-
]
|
649
|
+
"name": "entity.name.function.purescript"
|
654
650
|
},
|
655
651
|
"3": {
|
656
652
|
"name": "keyword.other.double-colon.purescript"
|
657
653
|
}
|
658
654
|
},
|
659
655
|
"patterns": [
|
656
|
+
{
|
657
|
+
"include": "#double_colon"
|
658
|
+
},
|
660
659
|
{
|
661
660
|
"include": "#type_signature"
|
662
661
|
}
|
@@ -668,8 +667,8 @@
|
|
668
667
|
"patterns": [
|
669
668
|
{
|
670
669
|
"name": "meta.record-field.type-declaration.purescript",
|
671
|
-
"begin": "(
|
672
|
-
"end": "(?=(
|
670
|
+
"begin": "([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)",
|
671
|
+
"end": "(?=([\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)\\s*(::|∷)|})",
|
673
672
|
"contentName": "meta.type-signature.purescript",
|
674
673
|
"beginCaptures": {
|
675
674
|
"1": {
|
@@ -677,9 +676,6 @@
|
|
677
676
|
{
|
678
677
|
"name": "entity.other.attribute-name.purescript",
|
679
678
|
"match": "(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"
|
680
|
-
},
|
681
|
-
{
|
682
|
-
"include": "#infix_op"
|
683
679
|
}
|
684
680
|
]
|
685
681
|
},
|
@@ -695,11 +691,31 @@
|
|
695
691
|
}
|
696
692
|
]
|
697
693
|
},
|
694
|
+
"kind_signature": {
|
695
|
+
"patterns": [
|
696
|
+
{
|
697
|
+
"name": "keyword.other.star.purescript",
|
698
|
+
"match": "\\*"
|
699
|
+
},
|
700
|
+
{
|
701
|
+
"name": "keyword.other.exclaimation-point.purescript",
|
702
|
+
"match": "!"
|
703
|
+
},
|
704
|
+
{
|
705
|
+
"name": "keyword.other.pound-sign.purescript",
|
706
|
+
"match": "#"
|
707
|
+
},
|
708
|
+
{
|
709
|
+
"name": "keyword.other.arrow.purescript",
|
710
|
+
"match": "->|→"
|
711
|
+
}
|
712
|
+
]
|
713
|
+
},
|
698
714
|
"type_signature": {
|
699
715
|
"patterns": [
|
700
716
|
{
|
701
717
|
"name": "meta.class-constraints.purescript",
|
702
|
-
"match": "(?:(?:\\()(?:(?<classConstraints>(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?))))(?:\\s*(?:,)\\s*\\g<classConstraints>)?))(?:\\))(?:\\s*(
|
718
|
+
"match": "(?:(?:\\()(?:(?<classConstraints>(?:(?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?))))(?:\\s*(?:,)\\s*\\g<classConstraints>)?))(?:\\))(?:\\s*(=>|<=|⇐|⇒)))",
|
703
719
|
"captures": {
|
704
720
|
"1": {
|
705
721
|
"patterns": [
|
@@ -715,7 +731,7 @@
|
|
715
731
|
},
|
716
732
|
{
|
717
733
|
"name": "meta.class-constraints.purescript",
|
718
|
-
"match": "((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?))))\\s*(
|
734
|
+
"match": "((?:(?:([\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*)\\s+)(?:(?<classConstraint>(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*|(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)(?:\\s*(?:\\s+)\\s*\\g<classConstraint>)?))))\\s*(=>|<=|⇐|⇒)",
|
719
735
|
"captures": {
|
720
736
|
"1": {
|
721
737
|
"patterns": [
|
@@ -739,11 +755,11 @@
|
|
739
755
|
},
|
740
756
|
{
|
741
757
|
"name": "keyword.other.big-arrow-left.purescript",
|
742
|
-
"match": "
|
758
|
+
"match": "<=|⇐"
|
743
759
|
},
|
744
760
|
{
|
745
761
|
"name": "keyword.other.forall.purescript",
|
746
|
-
"match": "forall"
|
762
|
+
"match": "forall|∀"
|
747
763
|
},
|
748
764
|
{
|
749
765
|
"include": "#generic_type"
|
@@ -760,7 +776,7 @@
|
|
760
776
|
"patterns": [
|
761
777
|
{
|
762
778
|
"name": "entity.name.type.purescript",
|
763
|
-
"match": "\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)
|
779
|
+
"match": "\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"
|
764
780
|
}
|
765
781
|
]
|
766
782
|
},
|
@@ -768,7 +784,7 @@
|
|
768
784
|
"patterns": [
|
769
785
|
{
|
770
786
|
"name": "entity.name.tag.purescript",
|
771
|
-
"match": "\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)
|
787
|
+
"match": "\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"
|
772
788
|
}
|
773
789
|
]
|
774
790
|
},
|
@@ -776,7 +792,15 @@
|
|
776
792
|
"patterns": [
|
777
793
|
{
|
778
794
|
"name": "variable.other.generic-type.purescript",
|
779
|
-
"match": "\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']
|
795
|
+
"match": "\\b(?:[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*\\.)?[\\p{Ll}_][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*"
|
796
|
+
}
|
797
|
+
]
|
798
|
+
},
|
799
|
+
"double_colon": {
|
800
|
+
"patterns": [
|
801
|
+
{
|
802
|
+
"name": "keyword.other.double-colon.purescript",
|
803
|
+
"match": "(?:::|∷)"
|
780
804
|
}
|
781
805
|
]
|
782
806
|
},
|
@@ -790,7 +814,7 @@
|
|
790
814
|
"patterns": [
|
791
815
|
{
|
792
816
|
"name": "entity.name.type.purescript",
|
793
|
-
"match": "\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)
|
817
|
+
"match": "\\b[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*(?:\\.[\\p{Lu}\\p{Lt}][\\p{Ll}_\\p{Lu}\\p{Lt}\\p{Nd}']*)*"
|
794
818
|
}
|
795
819
|
]
|
796
820
|
},
|
data/grammars/source.python.json
CHANGED
@@ -10,7 +10,9 @@
|
|
10
10
|
"SConstruct",
|
11
11
|
"Sconstruct",
|
12
12
|
"sconstruct",
|
13
|
-
"SConscript"
|
13
|
+
"SConscript",
|
14
|
+
"gyp",
|
15
|
+
"gypi"
|
14
16
|
],
|
15
17
|
"first_line_match": "^#!/.*\\bpython[\\d\\.]*\\b",
|
16
18
|
"firstLineMatch": "^#!/.*\\bpython[\\d\\.]*\\b",
|
@@ -1124,7 +1126,7 @@
|
|
1124
1126
|
"function-declaration": {
|
1125
1127
|
"name": "meta.function.python",
|
1126
1128
|
"begin": "(?x)\n \\s*\n (?:\\b(async) \\s+)? \\b(def)\\s+\n (?=\n [[:alpha:]_][[:word:]]* \\s* \\(\n )\n",
|
1127
|
-
"end": "(
|
1129
|
+
"end": "(:|(?=[#'\"\\n]))",
|
1128
1130
|
"beginCaptures": {
|
1129
1131
|
"1": {
|
1130
1132
|
"name": "storage.type.function.async.python"
|
@@ -1145,6 +1147,9 @@
|
|
1145
1147
|
{
|
1146
1148
|
"include": "#parameters"
|
1147
1149
|
},
|
1150
|
+
{
|
1151
|
+
"include": "#line-continuation"
|
1152
|
+
},
|
1148
1153
|
{
|
1149
1154
|
"include": "#return-annotation"
|
1150
1155
|
}
|
@@ -1196,7 +1201,7 @@
|
|
1196
1201
|
"include": "#parameter-special"
|
1197
1202
|
},
|
1198
1203
|
{
|
1199
|
-
"match": "([[:alpha:]_]\\w*)\\s*(?:(,)|(
|
1204
|
+
"match": "(?x)\n ([[:alpha:]_]\\w*)\n \\s* (?: (,) | (?=[)#\\n=]))\n",
|
1200
1205
|
"captures": {
|
1201
1206
|
"1": {
|
1202
1207
|
"name": "variable.parameter.function.language.python"
|
@@ -1210,7 +1215,7 @@
|
|
1210
1215
|
"include": "#comments"
|
1211
1216
|
},
|
1212
1217
|
{
|
1213
|
-
"include": "#
|
1218
|
+
"include": "#loose-default"
|
1214
1219
|
},
|
1215
1220
|
{
|
1216
1221
|
"include": "#annotated-parameter"
|
@@ -1234,14 +1239,11 @@
|
|
1234
1239
|
}
|
1235
1240
|
}
|
1236
1241
|
},
|
1237
|
-
"
|
1238
|
-
"begin": "(
|
1242
|
+
"loose-default": {
|
1243
|
+
"begin": "(=)",
|
1239
1244
|
"end": "(,)|(?=\\))",
|
1240
1245
|
"beginCaptures": {
|
1241
1246
|
"1": {
|
1242
|
-
"name": "variable.parameter.function.language.python"
|
1243
|
-
},
|
1244
|
-
"2": {
|
1245
1247
|
"name": "keyword.operator.python"
|
1246
1248
|
}
|
1247
1249
|
},
|