github-linguist 5.2.0 → 5.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/grammars/annotation.liquidhaskell.haskell.json +1445 -0
- data/grammars/hint.haskell.json +134 -17
- data/grammars/hint.message.haskell.json +134 -17
- data/grammars/hint.type.haskell.json +134 -17
- data/grammars/source.abl.json +48 -48
- data/grammars/source.afm.json +8 -1
- data/grammars/source.angelscript.json +195 -0
- data/grammars/source.ats.json +128 -58
- data/grammars/source.awk.json +138 -138
- data/grammars/source.ballerina.json +434 -0
- data/grammars/source.chapel.json +1 -1
- data/grammars/source.clips.json +20 -20
- data/grammars/source.cobol.json +4 -3
- data/grammars/source.coffee.json +556 -109
- data/grammars/source.cs.json +10 -5
- data/grammars/source.csound-document.json +1 -1
- data/grammars/source.csound-score.json +9 -9
- data/grammars/source.csound.json +23 -28
- data/grammars/source.css.json +6 -5
- data/grammars/source.data-weave.json +1584 -0
- data/grammars/source.elixir.json +3 -61
- data/grammars/source.elm.json +88 -88
- data/grammars/source.emacs.lisp.json +12 -1
- data/grammars/source.haskell.json +134 -17
- data/grammars/source.hsig.json +1376 -0
- data/grammars/source.httpspec.json +128 -128
- data/grammars/source.jison.json +6 -14
- data/grammars/source.jisonlex.json +1 -9
- data/grammars/source.js.json +1 -0
- data/grammars/source.js.regexp.json +0 -4
- data/grammars/source.js.regexp.replacement.json +0 -4
- data/grammars/source.jsdoc.json +3 -3
- data/grammars/source.lsl.json +146 -53
- data/grammars/source.mercury.json +166 -166
- data/grammars/source.ne.json +108 -0
- data/grammars/source.nim_filter.json +51 -51
- data/grammars/source.nut.json +266 -0
- data/grammars/source.opal.json +112 -112
- data/grammars/source.opalsysdefs.json +16 -16
- data/grammars/source.pan.json +1 -1
- data/grammars/source.papyrus.skyrim.json +720 -720
- data/grammars/source.pawn.json +2 -2
- data/grammars/source.prolog.eclipse.json +42 -42
- data/grammars/source.prolog.json +41 -41
- data/grammars/source.purescript.json +41 -25
- data/grammars/source.python.json +47 -34
- data/grammars/source.racket.json +54 -54
- data/grammars/source.reason.json +37 -3
- data/grammars/source.regexp.python.json +31 -0
- data/grammars/source.ruby.gemfile.json +27 -0
- data/grammars/source.ruby.json +1057 -356
- data/grammars/source.rust.json +1 -1
- data/grammars/source.sbt.json +13 -3
- data/grammars/source.scala.json +74 -55
- data/grammars/source.shaderlab.json +1 -1
- data/grammars/source.shell.json +26 -21
- data/grammars/source.shen.json +91 -91
- data/grammars/source.sqf.json +1 -1
- data/grammars/source.supercollider.json +1 -1
- data/grammars/source.swift.json +4 -0
- data/grammars/source.terra.json +36 -37
- data/grammars/source.terraform.json +98 -98
- data/grammars/source.ts.json +2231 -1677
- data/grammars/source.tsx.json +142 -3520
- data/grammars/source.vbnet.json +201 -263
- data/grammars/source.viml.json +2 -2
- data/grammars/source.wdl.json +200 -0
- data/grammars/source.yaml.json +34 -16
- data/grammars/text.find-refs.json +3 -3
- data/grammars/text.haml.json +1 -1
- data/grammars/text.html.abl.json +6 -6
- data/grammars/text.html.erb.json +8 -11
- data/grammars/text.html.php.blade.json +256 -220
- data/grammars/text.html.vue.json +1 -1
- data/grammars/text.slim.json +31 -17
- data/grammars/text.tex.latex.haskell.json +150 -33
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +82 -26
- data/lib/linguist/samples.json +134512 -132868
- data/lib/linguist/vendor.yml +3 -0
- data/lib/linguist/version.rb +1 -1
- metadata +13 -4
@@ -246,28 +246,7 @@
|
|
246
246
|
}
|
247
247
|
},
|
248
248
|
{
|
249
|
-
"
|
250
|
-
"begin": "\\{",
|
251
|
-
"beginCaptures": {
|
252
|
-
"0": {
|
253
|
-
"name": "keyword.operator.record.begin.purescript"
|
254
|
-
}
|
255
|
-
},
|
256
|
-
"end": "\\}",
|
257
|
-
"endCaptures": {
|
258
|
-
"0": {
|
259
|
-
"name": "keyword.operator.record.end.purescript"
|
260
|
-
}
|
261
|
-
},
|
262
|
-
"patterns": [
|
263
|
-
{
|
264
|
-
"name": "punctuation.separator.comma.purescript",
|
265
|
-
"match": ","
|
266
|
-
},
|
267
|
-
{
|
268
|
-
"include": "#record_field_declaration"
|
269
|
-
}
|
270
|
-
]
|
249
|
+
"include": "#record_types"
|
271
250
|
}
|
272
251
|
]
|
273
252
|
},
|
@@ -290,9 +269,6 @@
|
|
290
269
|
}
|
291
270
|
},
|
292
271
|
"patterns": [
|
293
|
-
{
|
294
|
-
"include": "#comments"
|
295
|
-
},
|
296
272
|
{
|
297
273
|
"match": "=",
|
298
274
|
"captures": {
|
@@ -303,6 +279,12 @@
|
|
303
279
|
},
|
304
280
|
{
|
305
281
|
"include": "#type_signature"
|
282
|
+
},
|
283
|
+
{
|
284
|
+
"include": "#record_types"
|
285
|
+
},
|
286
|
+
{
|
287
|
+
"include": "#comments"
|
306
288
|
}
|
307
289
|
]
|
308
290
|
},
|
@@ -516,6 +498,37 @@
|
|
516
498
|
}
|
517
499
|
]
|
518
500
|
},
|
501
|
+
"record_types": {
|
502
|
+
"patterns": [
|
503
|
+
{
|
504
|
+
"name": "meta.type.record.purescript",
|
505
|
+
"begin": "\\{",
|
506
|
+
"beginCaptures": {
|
507
|
+
"0": {
|
508
|
+
"name": "keyword.operator.type.record.begin.purescript"
|
509
|
+
}
|
510
|
+
},
|
511
|
+
"end": "\\}",
|
512
|
+
"endCaptures": {
|
513
|
+
"0": {
|
514
|
+
"name": "keyword.operator.type.record.end.purescript"
|
515
|
+
}
|
516
|
+
},
|
517
|
+
"patterns": [
|
518
|
+
{
|
519
|
+
"name": "punctuation.separator.comma.purescript",
|
520
|
+
"match": ","
|
521
|
+
},
|
522
|
+
{
|
523
|
+
"include": "#record_field_declaration"
|
524
|
+
},
|
525
|
+
{
|
526
|
+
"include": "#comments"
|
527
|
+
}
|
528
|
+
]
|
529
|
+
}
|
530
|
+
]
|
531
|
+
},
|
519
532
|
"comments": {
|
520
533
|
"patterns": [
|
521
534
|
{
|
@@ -686,6 +699,9 @@
|
|
686
699
|
"patterns": [
|
687
700
|
{
|
688
701
|
"include": "#type_signature"
|
702
|
+
},
|
703
|
+
{
|
704
|
+
"include": "#record_types"
|
689
705
|
}
|
690
706
|
]
|
691
707
|
}
|
data/grammars/source.python.json
CHANGED
@@ -254,14 +254,6 @@
|
|
254
254
|
}
|
255
255
|
}
|
256
256
|
},
|
257
|
-
"codetags": {
|
258
|
-
"match": "(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)",
|
259
|
-
"captures": {
|
260
|
-
"1": {
|
261
|
-
"name": "keyword.codetag.notation.python"
|
262
|
-
}
|
263
|
-
}
|
264
|
-
},
|
265
257
|
"statement-keyword": {
|
266
258
|
"patterns": [
|
267
259
|
{
|
@@ -386,8 +378,13 @@
|
|
386
378
|
]
|
387
379
|
},
|
388
380
|
"member-access": {
|
389
|
-
"begin": "
|
381
|
+
"begin": "(\\.)\\s*(?!\\.)",
|
390
382
|
"end": "(?x)\n # stop when you've just read non-whitespace followed by non-word\n # i.e. when finished reading an identifier or function call\n (?<=\\S)(?=\\W) |\n # stop when seeing the start of something that's not a word,\n # i.e. when seeing a non-identifier\n (^|(?<=\\s))(?=[^\\\\\\w\\s]) |\n $\n",
|
383
|
+
"beginCaptures": {
|
384
|
+
"1": {
|
385
|
+
"name": "punctuation.separator.period.python"
|
386
|
+
}
|
387
|
+
},
|
391
388
|
"patterns": [
|
392
389
|
{
|
393
390
|
"include": "#function-call"
|
@@ -912,29 +909,6 @@
|
|
912
909
|
}
|
913
910
|
]
|
914
911
|
},
|
915
|
-
"fstring-formatting-braces": {
|
916
|
-
"patterns": [
|
917
|
-
{
|
918
|
-
"comment": "empty braces are illegal",
|
919
|
-
"match": "({)(\\s*?)(})",
|
920
|
-
"captures": {
|
921
|
-
"1": {
|
922
|
-
"name": "constant.character.format.placeholder.other.python"
|
923
|
-
},
|
924
|
-
"2": {
|
925
|
-
"name": "invalid.illegal.brace.python"
|
926
|
-
},
|
927
|
-
"3": {
|
928
|
-
"name": "constant.character.format.placeholder.other.python"
|
929
|
-
}
|
930
|
-
}
|
931
|
-
},
|
932
|
-
{
|
933
|
-
"name": "constant.character.escape.python",
|
934
|
-
"match": "({{|}})"
|
935
|
-
}
|
936
|
-
]
|
937
|
-
},
|
938
912
|
"fstring-formatting-singe-brace": {
|
939
913
|
"name": "invalid.illegal.brace.python",
|
940
914
|
"match": "(}(?!}))"
|
@@ -943,11 +917,14 @@
|
|
943
917
|
"comment": "Import statements\n",
|
944
918
|
"patterns": [
|
945
919
|
{
|
946
|
-
"match": "(?x)\n \\s* \\b(from)\\b (\\s
|
920
|
+
"match": "(?x)\n \\s* \\b(from)\\b \\s*(\\.+)\\s* (import)?\n",
|
947
921
|
"captures": {
|
948
922
|
"1": {
|
949
923
|
"name": "keyword.control.import.python"
|
950
924
|
},
|
925
|
+
"2": {
|
926
|
+
"name": "punctuation.separator.period.python"
|
927
|
+
},
|
951
928
|
"3": {
|
952
929
|
"name": "keyword.control.import.python"
|
953
930
|
}
|
@@ -1071,8 +1048,13 @@
|
|
1071
1048
|
}
|
1072
1049
|
},
|
1073
1050
|
"member-access-class": {
|
1074
|
-
"begin": "
|
1051
|
+
"begin": "(\\.)\\s*(?!\\.)",
|
1075
1052
|
"end": "(?<=\\S)(?=\\W)|$",
|
1053
|
+
"beginCaptures": {
|
1054
|
+
"1": {
|
1055
|
+
"name": "punctuation.separator.period.python"
|
1056
|
+
}
|
1057
|
+
},
|
1076
1058
|
"patterns": [
|
1077
1059
|
{
|
1078
1060
|
"include": "#call-wrapper-inheritance"
|
@@ -1763,6 +1745,29 @@
|
|
1763
1745
|
}
|
1764
1746
|
]
|
1765
1747
|
},
|
1748
|
+
"fstring-formatting-braces": {
|
1749
|
+
"patterns": [
|
1750
|
+
{
|
1751
|
+
"comment": "empty braces are illegal",
|
1752
|
+
"match": "({)(\\s*?)(})",
|
1753
|
+
"captures": {
|
1754
|
+
"1": {
|
1755
|
+
"name": "constant.character.format.placeholder.other.python"
|
1756
|
+
},
|
1757
|
+
"2": {
|
1758
|
+
"name": "invalid.illegal.brace.python"
|
1759
|
+
},
|
1760
|
+
"3": {
|
1761
|
+
"name": "constant.character.format.placeholder.other.python"
|
1762
|
+
}
|
1763
|
+
}
|
1764
|
+
},
|
1765
|
+
{
|
1766
|
+
"name": "constant.character.escape.python",
|
1767
|
+
"match": "({{|}})"
|
1768
|
+
}
|
1769
|
+
]
|
1770
|
+
},
|
1766
1771
|
"regexp-base-common": {
|
1767
1772
|
"patterns": [
|
1768
1773
|
{
|
@@ -1885,6 +1890,14 @@
|
|
1885
1890
|
}
|
1886
1891
|
]
|
1887
1892
|
},
|
1893
|
+
"codetags": {
|
1894
|
+
"match": "(?:\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\b)",
|
1895
|
+
"captures": {
|
1896
|
+
"1": {
|
1897
|
+
"name": "keyword.codetag.notation.python"
|
1898
|
+
}
|
1899
|
+
}
|
1900
|
+
},
|
1888
1901
|
"comments-base": {
|
1889
1902
|
"name": "comment.line.number-sign.python",
|
1890
1903
|
"begin": "(\\#)",
|
data/grammars/source.racket.json
CHANGED
@@ -1,119 +1,119 @@
|
|
1
1
|
{
|
2
|
+
"name": "Racket (soegaard)",
|
3
|
+
"scopeName": "source.racket",
|
2
4
|
"fileTypes": [
|
3
5
|
"rkt"
|
4
6
|
],
|
5
|
-
"
|
7
|
+
"uuid": "c5160d97-e918-473b-a594-3d22afffc0a7",
|
8
|
+
"repository": {
|
9
|
+
"multilinecomment": {
|
10
|
+
"begin": "\\#\\|",
|
11
|
+
"end": "\\|\\#",
|
12
|
+
"name": "comment",
|
13
|
+
"contentName": "comment",
|
14
|
+
"patterns": [
|
15
|
+
{
|
16
|
+
"include": "#multilinecomment",
|
17
|
+
"name": "comment"
|
18
|
+
}
|
19
|
+
]
|
20
|
+
}
|
21
|
+
},
|
6
22
|
"patterns": [
|
7
23
|
{
|
8
24
|
"include": "#multilinecomment"
|
9
25
|
},
|
10
26
|
{
|
11
|
-
"begin": "(\\#px|\\#rx)?(\\#)?\\\"",
|
12
27
|
"comment": "strings, byte strings, regular expressions",
|
13
|
-
"end": "\\\"",
|
14
28
|
"name": "constant",
|
29
|
+
"begin": "(\\#px|\\#rx)?(\\#)?\\\"",
|
30
|
+
"end": "\\\"",
|
15
31
|
"patterns": [
|
16
32
|
{
|
17
|
-
"
|
18
|
-
"
|
33
|
+
"name": "constant",
|
34
|
+
"match": "([^\"\\\\]|\\\\.|\\\\\\\\)*"
|
19
35
|
}
|
20
36
|
]
|
21
37
|
},
|
22
38
|
{
|
23
39
|
"comment": "booleans",
|
24
|
-
"
|
25
|
-
"
|
40
|
+
"name": "constant",
|
41
|
+
"match": "((\\#[tT])|(\\#[fF])|(\\#true)|(\\#false))(?=[()\\[\\]{}\",'`;\\ \\s])"
|
26
42
|
},
|
27
43
|
{
|
28
44
|
"comment": "character datum",
|
29
|
-
"
|
30
|
-
"
|
45
|
+
"name": "constant",
|
46
|
+
"match": "((((?i)((\\#\\\\null)|(\\#\\\\nul)|(\\#\\\\backspace)|(\\#\\\\tab)|(\\#\\\\newline)|(\\#\\\\linefeed)|(\\#\\\\vtab)|(\\#\\\\page)|(\\#\\\\return)|(\\#\\\\space)|(\\#\\\\rubout))(?-i)))|(\\#\\\\(([0-7]){1,3}))|(\\#\\\\u(([0-9abcdefABCDEF]){1,4}))|(\\#\\\\U(([0-9abcdefABCDEF]){1,8}))|(\\#\\\\.(?=[^[:alpha:]])))"
|
31
47
|
},
|
32
48
|
{
|
33
49
|
"comment": "general binary number",
|
34
|
-
"
|
35
|
-
"
|
50
|
+
"name": "constant",
|
51
|
+
"match": "((\\#[bBeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-1])+)|(([0-1])+\\/([0-1])+)))|(((((\\+)|(\\-)))?((([0-1])+)|(([0-1])+\\/([0-1])+)))?((\\+)|(\\-))(((([0-1])+)|(([0-1])+\\/([0-1])+)))?i)))|((((((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))|(((((((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?((\\+)|(\\-))(((((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|((((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?i)|((((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f)))))@(((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])"
|
36
52
|
},
|
37
53
|
{
|
38
54
|
"comment": "general octal number",
|
39
|
-
"
|
40
|
-
"
|
55
|
+
"name": "constant",
|
56
|
+
"match": "((\\#[oOeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-7])+)|(([0-7])+\\/([0-7])+)))|(((((\\+)|(\\-)))?((([0-7])+)|(([0-7])+\\/([0-7])+)))?((\\+)|(\\-))(((([0-7])+)|(([0-7])+\\/([0-7])+)))?i)))|((((((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))|(((((((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?((\\+)|(\\-))(((((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|((((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?i)|((((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f)))))@(((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])"
|
41
57
|
},
|
42
58
|
{
|
43
59
|
"comment": "general decimal number",
|
44
|
-
"
|
45
|
-
"
|
60
|
+
"name": "constant",
|
61
|
+
"match": "((\\#[dDeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-9])+)|(([0-9])+\\/([0-9])+)))|(((((\\+)|(\\-)))?((([0-9])+)|(([0-9])+\\/([0-9])+)))?((\\+)|(\\-))(((([0-9])+)|(([0-9])+\\/([0-9])+)))?i)))|((((((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))|(((((((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?((\\+)|(\\-))(((((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|((((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))?i)|((((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f)))))@(((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([sldef](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.0)|(nan\\.0)|(inf\\.f)|(nan\\.f))))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])"
|
46
62
|
},
|
47
63
|
{
|
48
64
|
"comment": "general hexadecimal number",
|
49
|
-
"
|
50
|
-
"
|
65
|
+
"name": "constant",
|
66
|
+
"match": "(\\#([xXeEiI])*(\\#[ei])?(((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+)|(([0-9abcdefABCDEF])+\\/([0-9abcdefABCDEF])+)))|(((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+)|(([0-9abcdefABCDEF])+\\/([0-9abcdefABCDEF])+)))?((\\+)|(\\-))(((([0-9abcdefABCDEF])+)|(([0-9abcdefABCDEF])+\\/([0-9abcdefABCDEF])+)))?i)))|((((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|(((((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))?((\\+)|(\\-))(((((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|((((inf\\.)|(nan\\.))[0ftT]))))?i)|((((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT])))@(((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([sl](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))))))))(?=[()\\[\\]{}\",'`;\\ \\s])"
|
51
67
|
},
|
52
68
|
{
|
53
69
|
"comment": "extflonum",
|
54
|
-
"
|
55
|
-
"
|
70
|
+
"name": "constant",
|
71
|
+
"match": "(((\\#[bB](((((\\+)|(\\-)))?((([0-1])+(\\#)*(\\.)?(\\#)*)|((([0-1])+)?\\.([0-1])+(\\#)*)|(([0-1])+(\\#)*\\/([0-1])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-1])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|(\\#[oO](((((\\+)|(\\-)))?((([0-7])+(\\#)*(\\.)?(\\#)*)|((([0-7])+)?\\.([0-7])+(\\#)*)|(([0-7])+(\\#)*\\/([0-7])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-7])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|(\\#[xX](((((\\+)|(\\-)))?((([0-9abcdefABCDEF])+(\\#)*(\\.)?(\\#)*)|((([0-9abcdefABCDEF])+)?\\.([0-9abcdefABCDEF])+(\\#)*)|(([0-9abcdefABCDEF])+(\\#)*\\/([0-9abcdefABCDEF])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-9abcdefABCDEF])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))|((\\#[bB])?(((((\\+)|(\\-)))?((([0-9])+(\\#)*(\\.)?(\\#)*)|((([0-9])+)?\\.([0-9])+(\\#)*)|(([0-9])+(\\#)*\\/([0-9])+(\\#)*))(([tT](((\\+)|(\\-)))?([0-9])+))?)|(((\\+)|(\\-))(((inf\\.)|(nan\\.))[0ftT]))))))(?=[()\\[\\]{}\",'`;\\ \\s])"
|
56
72
|
},
|
57
73
|
{
|
58
74
|
"comment": "void",
|
59
|
-
"
|
60
|
-
"
|
75
|
+
"name": "constant",
|
76
|
+
"match": "\\#void(?=[()\\[\\]{}\",'`;\\ \\s])"
|
61
77
|
},
|
62
78
|
{
|
63
79
|
"comment": "symbol",
|
64
|
-
"
|
65
|
-
"
|
80
|
+
"name": "constant",
|
81
|
+
"match": "\\'([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)"
|
66
82
|
},
|
67
83
|
{
|
68
84
|
"comment": "quoted empty list",
|
69
|
-
"
|
70
|
-
"
|
85
|
+
"name": "constant",
|
86
|
+
"match": "\\'\\(\\)"
|
71
87
|
},
|
72
88
|
{
|
73
89
|
"comment": "keyword",
|
74
|
-
"
|
75
|
-
"
|
90
|
+
"name": "constant",
|
91
|
+
"match": "\\#\\:([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)"
|
76
92
|
},
|
77
93
|
{
|
78
94
|
"comment": "syntax-quoted identifiers",
|
79
|
-
"
|
80
|
-
"
|
95
|
+
"name": "constant",
|
96
|
+
"match": "\\#\\'([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)"
|
81
97
|
},
|
82
98
|
{
|
83
99
|
"comment": "syntax in the racket language",
|
84
|
-
"
|
85
|
-
"
|
100
|
+
"name": "entity.name",
|
101
|
+
"match": "(\\#\\%app|\\#\\%datum|\\#\\%declare|\\#\\%expression|\\#\\%module\\-begin|\\#\\%plain\\-app|\\#\\%plain\\-lambda|\\#\\%plain\\-module\\-begin|\\#\\%printing\\-module\\-begin|\\#\\%provide|\\#\\%require|\\#\\%stratified\\-body|\\#\\%top|\\#\\%top\\-interaction|\\#\\%variable\\-reference|\\->|\\->\\*|\\->\\*m|\\->d|\\->dm|\\->i|\\->m|\\.\\.\\.|\\:do\\-in|==|=>|_|absent|abstract|all\\-defined\\-out|all\\-from\\-out|and|any|augment|augment\\*|augment\\-final|augment\\-final\\*|augride|augride\\*|begin|begin\\-for\\-syntax|begin0|case|case\\->|case\\->m|case\\-lambda|class|class\\*|class\\-field\\-accessor|class\\-field\\-mutator|class/c|class/derived|combine\\-in|combine\\-out|command\\-line|compound\\-unit|compound\\-unit/infer|cond|contract|contract\\-out|contract\\-struct|contracted|define|define\\-compound\\-unit|define\\-compound\\-unit/infer|define\\-contract\\-struct|define\\-custom\\-hash\\-types|define\\-custom\\-set\\-types|define\\-for\\-syntax|define\\-local\\-member\\-name|define\\-logger|define\\-match\\-expander|define\\-member\\-name|define\\-module\\-boundary\\-contract|define\\-namespace\\-anchor|define\\-opt/c|define\\-sequence\\-syntax|define\\-serializable\\-class|define\\-serializable\\-class\\*|define\\-signature|define\\-signature\\-form|define\\-struct|define\\-struct/contract|define\\-struct/derived|define\\-syntax|define\\-syntax\\-rule|define\\-syntaxes|define\\-unit|define\\-unit\\-binding|define\\-unit\\-from\\-context|define\\-unit/contract|define\\-unit/new\\-import\\-export|define\\-unit/s|define\\-values|define\\-values\\-for\\-export|define\\-values\\-for\\-syntax|define\\-values/invoke\\-unit|define\\-values/invoke\\-unit/infer|define/augment|define/augment\\-final|define/augride|define/contract|define/final\\-prop|define/match|define/overment|define/override|define/override\\-final|define/private|define/public|define/public\\-final|define/pubment|define/subexpression\\-pos\\-prop|delay|delay/idle|delay/name|delay/strict|delay/sync|delay/thread|do|else|except|except\\-in|except\\-out|export|extends|failure\\-cont|false|false/c|field|field\\-bound\\?|file|flat\\-murec\\-contract|flat\\-rec\\-contract|for|for\\*|for\\*/and|for\\*/first|for\\*/fold|for\\*/fold/derived|for\\*/hash|for\\*/hasheq|for\\*/hasheqv|for\\*/last|for\\*/list|for\\*/lists|for\\*/mutable\\-set|for\\*/mutable\\-seteq|for\\*/mutable\\-seteqv|for\\*/or|for\\*/product|for\\*/set|for\\*/seteq|for\\*/seteqv|for\\*/sum|for\\*/vector|for\\*/weak\\-set|for\\*/weak\\-seteq|for\\*/weak\\-seteqv|for\\-label|for\\-meta|for\\-syntax|for\\-template|for/and|for/first|for/fold|for/fold/derived|for/hash|for/hasheq|for/hasheqv|for/last|for/list|for/lists|for/mutable\\-set|for/mutable\\-seteq|for/mutable\\-seteqv|for/or|for/product|for/set|for/seteq|for/seteqv|for/sum|for/vector|for/weak\\-set|for/weak\\-seteq|for/weak\\-seteqv|gen\\:custom\\-write|gen\\:dict|gen\\:equal\\+hash|gen\\:set|gen\\:stream|generic|get\\-field|if|implies|import|include|include\\-at/relative\\-to|include\\-at/relative\\-to/reader|include/reader|inherit|inherit\\-field|inherit/inner|inherit/super|init|init\\-depend|init\\-field|init\\-rest|inner|inspect|instantiate|interface|interface\\*|invariant\\-assertion|invoke\\-unit|invoke\\-unit/infer|lambda|lazy|let|let\\*|let\\*\\-values|let\\-syntax|let\\-syntaxes|let\\-values|let/cc|let/ec|letrec|letrec\\-syntax|letrec\\-syntaxes|letrec\\-syntaxes\\+values|letrec\\-values|lib|link|local|local\\-require|log\\-debug|log\\-error|log\\-fatal|log\\-info|log\\-warning|match|match\\*|match\\*/derived|match\\-define|match\\-define\\-values|match\\-lambda|match\\-lambda\\*|match\\-lambda\\*\\*|match\\-let|match\\-let\\*|match\\-let\\*\\-values|match\\-let\\-values|match\\-letrec|match/derived|match/values|member\\-name\\-key|method\\-contract\\?|mixin|module|module\\*|module\\+|nand|new|nor|object\\-contract|object/c|only|only\\-in|only\\-meta\\-in|open|opt/c|or|overment|overment\\*|override|override\\*|override\\-final|override\\-final\\*|parameterize|parameterize\\*|parameterize\\-break|parametric\\->/c|place|place\\*|planet|prefix|prefix\\-in|prefix\\-out|private|private\\*|prompt\\-tag/c|protect\\-out|provide|provide\\-signature\\-elements|provide/contract|public|public\\*|public\\-final|public\\-final\\*|pubment|pubment\\*|quasiquote|quasisyntax|quasisyntax/loc|quote|quote\\-syntax|quote\\-syntax/prune|recontract\\-out|recursive\\-contract|relative\\-in|rename|rename\\-in|rename\\-inner|rename\\-out|rename\\-super|require|send|send\\*|send\\+|send\\-generic|send/apply|send/keyword\\-apply|set!|set!\\-values|set\\-field!|shared|stream|stream\\-cons|struct|struct\\*|struct\\-copy|struct\\-field\\-index|struct\\-out|struct/c|struct/ctc|struct/dc|submod|super|super\\-instantiate|super\\-make\\-object|super\\-new|syntax|syntax\\-case|syntax\\-case\\*|syntax\\-id\\-rules|syntax\\-rules|syntax/loc|tag|this|this\\%|thunk|thunk\\*|time|unconstrained\\-domain\\->|unit|unit\\-from\\-context|unit/c|unit/new\\-import\\-export|unit/s|unless|unquote|unquote\\-splicing|unsyntax|unsyntax\\-splicing|values/drop|when|with\\-continuation\\-mark|with\\-contract|with\\-handlers|with\\-handlers\\*|with\\-method|with\\-syntax|λ)(?=[()\\[\\]{}\",'`;\\ \\s])"
|
86
102
|
},
|
87
103
|
{
|
88
104
|
"comment": "identifiers",
|
89
|
-
"
|
90
|
-
"
|
105
|
+
"name": "none",
|
106
|
+
"match": "([^#()\\[\\]{}\",'`; \\s]([^()\\[\\]{}\",'`;\\ \\s])*)"
|
91
107
|
},
|
92
108
|
{
|
93
109
|
"comment": "; comments begins with ; and extends to the end of the line",
|
94
|
-
"
|
95
|
-
"
|
110
|
+
"name": "comment",
|
111
|
+
"match": ";.*$"
|
96
112
|
},
|
97
113
|
{
|
98
|
-
"comment":
|
99
|
-
"match": "\\#;",
|
100
|
-
"name": "comment"
|
101
|
-
}
|
102
|
-
],
|
103
|
-
"repository": {
|
104
|
-
"multilinecomment": {
|
105
|
-
"begin": "\\#\\|",
|
106
|
-
"contentName": "comment",
|
107
|
-
"end": "\\|\\#",
|
114
|
+
"comment": null,
|
108
115
|
"name": "comment",
|
109
|
-
"
|
110
|
-
{
|
111
|
-
"include": "#multilinecomment",
|
112
|
-
"name": "comment"
|
113
|
-
}
|
114
|
-
]
|
116
|
+
"match": "\\#;"
|
115
117
|
}
|
116
|
-
|
117
|
-
"scopeName": "source.racket",
|
118
|
-
"uuid": "c5160d97-e918-473b-a594-3d22afffc0a7"
|
118
|
+
]
|
119
119
|
}
|
data/grammars/source.reason.json
CHANGED
@@ -860,6 +860,40 @@
|
|
860
860
|
"begin": "(?<=[^[:word:]]and|^and|[^[:word:]]external|^external|[^[:word:]]let|^let|[^[:word:]]method|^method|[^[:word:]]rec|^rec)",
|
861
861
|
"end": "(?=[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|type|val|with)\\b)",
|
862
862
|
"patterns": [
|
863
|
+
{
|
864
|
+
"comment": "FIXME; hack for punned arguments",
|
865
|
+
"begin": "(::)",
|
866
|
+
"end": "(?<=[[:space:]])",
|
867
|
+
"beginCaptures": {
|
868
|
+
"1": {
|
869
|
+
"name": "keyword.control"
|
870
|
+
}
|
871
|
+
},
|
872
|
+
"patterns": [
|
873
|
+
{
|
874
|
+
"include": "#pattern"
|
875
|
+
},
|
876
|
+
{
|
877
|
+
"begin": "(=)",
|
878
|
+
"end": "(\\?)|(?<=[^[:space:]=][[:space:]])(?=[[:space:]]*+[^\\.])",
|
879
|
+
"beginCaptures": {
|
880
|
+
"1": {
|
881
|
+
"name": "markup.inserted keyword.control.less message.error"
|
882
|
+
}
|
883
|
+
},
|
884
|
+
"endCaptures": {
|
885
|
+
"1": {
|
886
|
+
"name": "storage.type"
|
887
|
+
}
|
888
|
+
},
|
889
|
+
"patterns": [
|
890
|
+
{
|
891
|
+
"include": "#value-expression-atomic-with-paths"
|
892
|
+
}
|
893
|
+
]
|
894
|
+
}
|
895
|
+
]
|
896
|
+
},
|
863
897
|
{
|
864
898
|
"include": "#module-item-let-value-bind-name-or-pattern"
|
865
899
|
},
|
@@ -885,7 +919,7 @@
|
|
885
919
|
"include": "#module-item-let-value-param"
|
886
920
|
},
|
887
921
|
{
|
888
|
-
"begin": "(:)[[:space:]]*(?![[:space:]]*[
|
922
|
+
"begin": "(?<![:])(:)[[:space:]]*(?![[:space:]]*[:\\)])",
|
889
923
|
"end": "(?=[;}=]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|val|with)\\b)",
|
890
924
|
"beginCaptures": {
|
891
925
|
"1": {
|
@@ -935,7 +969,7 @@
|
|
935
969
|
},
|
936
970
|
"module-item-let-value-bind-type": {
|
937
971
|
"comment": "FIXME: lookahead",
|
938
|
-
"begin": "(:)(?![[:space:]]*[
|
972
|
+
"begin": "(?<![:])(:)(?![[:space:]]*[:\\)])",
|
939
973
|
"end": "(?==[^>]|[;}]|\\b(and|class|constraint|exception|external|include|inherit|let|method|module|nonrec|open|private|rec|val|with)\\b)",
|
940
974
|
"beginCaptures": {
|
941
975
|
"1": {
|
@@ -986,7 +1020,7 @@
|
|
986
1020
|
"module-item-let-value-param-label": {
|
987
1021
|
"patterns": [
|
988
1022
|
{
|
989
|
-
"begin": "\\b
|
1023
|
+
"begin": "(\\b[[:lower:]][[:word:]]*\\b)?[[:space:]]*(::)",
|
990
1024
|
"end": "(?<=[[:space:]])",
|
991
1025
|
"beginCaptures": {
|
992
1026
|
"1": {
|