github-linguist 7.6.1 → 7.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/bin/github-linguist +17 -4
- data/grammars/annotation.liquidhaskell.haskell.json +58 -11
- data/grammars/etc.json +212 -3
- data/grammars/hidden.manref.json +29 -0
- data/grammars/hint.haskell.json +58 -11
- data/grammars/hint.message.haskell.json +58 -11
- data/grammars/hint.type.haskell.json +58 -11
- data/grammars/injections.etc.json +601 -1
- data/grammars/markdown.plantuml.codeblock.json +26 -0
- data/grammars/source.4dm.json +1100 -0
- data/grammars/source.abap.json +7 -7
- data/grammars/source.abnf.json +23 -1
- data/grammars/source.agda.json +32 -202
- data/grammars/source.ahk.json +9 -5
- data/grammars/source.angelscript.json +1 -1
- data/grammars/source.ballerina.json +54 -18
- data/grammars/source.chapel.json +4 -4
- data/grammars/source.csound.json +1 -1
- data/grammars/source.css.json +2 -2
- data/grammars/source.css.scss.json +164 -15
- data/grammars/source.curlrc.json +869 -65
- data/grammars/source.dart.json +58 -32
- data/grammars/source.dircolors.json +137 -0
- data/grammars/source.direct-x.json +135 -0
- data/grammars/source.ebnf.json +67 -39
- data/grammars/source.editorconfig.json +23 -5
- data/grammars/source.elixir.json +51 -0
- data/grammars/source.elm.json +1 -1
- data/grammars/source.emacs.lisp.json +10 -0
- data/grammars/source.faust.json +119 -0
- data/grammars/source.gcode.json +166 -8
- data/grammars/source.gfm.json +1 -1
- data/grammars/source.gitconfig.json +1 -1
- data/grammars/source.hack.json +200 -98
- data/grammars/source.haskell.json +58 -11
- data/grammars/source.hlsl.json +9 -5
- data/grammars/source.hosts.json +40 -0
- data/grammars/source.hsig.json +58 -11
- data/grammars/source.hx.json +4 -0
- data/grammars/source.igor.json +46 -2
- data/grammars/source.ini.npmrc.json +311 -0
- data/grammars/source.inno.json +133 -0
- data/grammars/source.inputrc.json +500 -0
- data/grammars/source.js.json +4 -4
- data/grammars/source.julia.json +69 -23
- data/grammars/source.kotlin.json +1 -1
- data/grammars/source.lean.json +19 -3
- data/grammars/source.lean.markdown.json +2598 -0
- data/grammars/source.lex.json +4 -4
- data/grammars/source.m4.json +141 -99
- data/grammars/source.man-conf.json +46 -34
- data/grammars/source.matlab.json +437 -184
- data/grammars/source.mcfunction-snapshot.json +21388 -561
- data/grammars/source.mcfunction.json +55 -5
- data/grammars/source.meson.json +1 -1
- data/grammars/source.mlir.json +37 -317
- data/grammars/source.mrc.json +740 -0
- data/grammars/source.nasl.json +155 -0
- data/grammars/source.nextflow.json +2 -2
- data/grammars/source.odin-ehr.json +806 -0
- data/grammars/source.odin.json +402 -0
- data/grammars/source.opts.json +12 -2
- data/grammars/source.p4.json +21 -5
- data/grammars/source.prisma.json +435 -0
- data/grammars/source.python.json +2 -0
- data/grammars/source.qasm.json +66 -0
- data/grammars/source.ql.json +1408 -0
- data/grammars/source.reason.json +28 -16
- data/grammars/source.rego.json +124 -0
- data/grammars/source.sass.json +158 -3
- data/grammars/source.scala.json +53 -18
- data/grammars/source.ssh-config.json +1 -14
- data/grammars/source.swift.json +162 -2
- data/grammars/source.sy.json +2088 -183
- data/grammars/source.terraform.json +576 -132
- data/grammars/source.tnsaudit.json +256 -0
- data/grammars/source.ts.json +159 -51
- data/grammars/source.tsx.json +160 -52
- data/grammars/source.v.json +559 -764
- data/grammars/source.vim-snippet.json +645 -0
- data/grammars/source.viml.json +6 -6
- data/grammars/source.webassembly.json +10 -0
- data/grammars/source.wgetrc.json +1640 -0
- data/grammars/source.wsd.json +775 -0
- data/grammars/source.zig.json +169 -304
- data/grammars/text.html.php.blade.json +1 -1
- data/grammars/text.html.riot.json +788 -0
- data/grammars/text.muse.json +1471 -0
- data/grammars/text.tex.latex.haskell.json +58 -11
- data/grammars/text.vim-help.json +383 -0
- data/grammars/version +1 -1
- data/lib/linguist/VERSION +1 -1
- data/lib/linguist/blob_helper.rb +4 -2
- data/lib/linguist/file_blob.rb +1 -1
- data/lib/linguist/generated.rb +60 -13
- data/lib/linguist/heuristics.yml +64 -4
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +336 -45
- data/lib/linguist/lazy_blob.rb +10 -10
- data/lib/linguist/linguist.bundle +0 -0
- data/lib/linguist/samples.json +43560 -31457
- data/lib/linguist/shebang.rb +5 -3
- data/lib/linguist/vendor.yml +9 -0
- metadata +29 -10
- data/grammars/source.LS.json +0 -85
- data/grammars/source.MCPOST.json +0 -54
- data/grammars/source.MOD.json +0 -55
- data/grammars/source.apt.json +0 -18
- data/grammars/source.jlex.json +0 -322
- data/grammars/source.yaml-ext.json +0 -324
data/grammars/source.reason.json
CHANGED
@@ -138,7 +138,6 @@
|
|
138
138
|
}
|
139
139
|
},
|
140
140
|
"comment": {
|
141
|
-
"name": "comment",
|
142
141
|
"patterns": [
|
143
142
|
{
|
144
143
|
"include": "#comment-line"
|
@@ -155,31 +154,44 @@
|
|
155
154
|
"name": "comment.block",
|
156
155
|
"begin": "/\\*",
|
157
156
|
"end": "\\*/",
|
158
|
-
"
|
159
|
-
{
|
160
|
-
"
|
157
|
+
"beginCaptures": {
|
158
|
+
"0": {
|
159
|
+
"name": "punctuation.definition.comment.begin"
|
161
160
|
}
|
162
|
-
|
161
|
+
},
|
162
|
+
"endCaptures": {
|
163
|
+
"0": {
|
164
|
+
"name": "punctuation.definition.comment.end"
|
165
|
+
}
|
166
|
+
}
|
163
167
|
},
|
164
168
|
"comment-block-doc": {
|
165
169
|
"name": "comment.block.documentation",
|
166
170
|
"begin": "/\\*\\*(?!/)",
|
167
171
|
"end": "\\*/",
|
168
|
-
"
|
169
|
-
{
|
170
|
-
"
|
172
|
+
"beginCaptures": {
|
173
|
+
"0": {
|
174
|
+
"name": "punctuation.definition.comment.begin"
|
171
175
|
}
|
172
|
-
|
176
|
+
},
|
177
|
+
"endCaptures": {
|
178
|
+
"0": {
|
179
|
+
"name": "punctuation.definition.comment.end"
|
180
|
+
}
|
181
|
+
}
|
173
182
|
},
|
174
183
|
"comment-line": {
|
175
|
-
"name": "comment.line",
|
176
|
-
"begin": "(^[ \\t]+)?(
|
177
|
-
"end": "
|
178
|
-
"
|
179
|
-
{
|
180
|
-
"
|
184
|
+
"name": "comment.line.double-slash",
|
185
|
+
"begin": "(^[ \\t]+)?(//)",
|
186
|
+
"end": "$",
|
187
|
+
"beginCaptures": {
|
188
|
+
"1": {
|
189
|
+
"name": "punctuation.whitespace.leading"
|
190
|
+
},
|
191
|
+
"2": {
|
192
|
+
"name": "punctuation.definition.comment"
|
181
193
|
}
|
182
|
-
|
194
|
+
}
|
183
195
|
},
|
184
196
|
"condition-lhs": {
|
185
197
|
"begin": "(?\u003c![#\\-:!?.@*/\u0026%^+\u003c=\u003e|~$\\\\])([\\?])(?![#\\-:!?.@*/\u0026%^+\u003c=\u003e|~$\\\\])",
|
@@ -0,0 +1,124 @@
|
|
1
|
+
{
|
2
|
+
"name": "Rego",
|
3
|
+
"scopeName": "source.rego",
|
4
|
+
"patterns": [
|
5
|
+
{
|
6
|
+
"include": "#comment"
|
7
|
+
},
|
8
|
+
{
|
9
|
+
"include": "#keyword"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"include": "#operator"
|
13
|
+
},
|
14
|
+
{
|
15
|
+
"include": "#head"
|
16
|
+
},
|
17
|
+
{
|
18
|
+
"include": "#term"
|
19
|
+
}
|
20
|
+
],
|
21
|
+
"repository": {
|
22
|
+
"call": {
|
23
|
+
"name": "meta.function-call.rego",
|
24
|
+
"match": "([a-zA-Z_][a-zA-Z0-9_]*)\\(",
|
25
|
+
"captures": {
|
26
|
+
"1": {
|
27
|
+
"name": "support.function.any-method.rego"
|
28
|
+
}
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"comment": {
|
32
|
+
"name": "comment.line.number-sign.rego",
|
33
|
+
"match": "(#).*$\\n?",
|
34
|
+
"captures": {
|
35
|
+
"1": {
|
36
|
+
"name": "punctuation.definition.comment.rego"
|
37
|
+
}
|
38
|
+
}
|
39
|
+
},
|
40
|
+
"constant": {
|
41
|
+
"name": "constant.language.rego",
|
42
|
+
"match": "\\b(?:true|false|null)\\b"
|
43
|
+
},
|
44
|
+
"head": {
|
45
|
+
"name": "meta.function.rego",
|
46
|
+
"begin": "^([[:alpha:]_][[:alnum:]_]*)",
|
47
|
+
"end": "(=|{|\\n)",
|
48
|
+
"patterns": [
|
49
|
+
{
|
50
|
+
"include": "#term"
|
51
|
+
}
|
52
|
+
],
|
53
|
+
"beginCaptures": {
|
54
|
+
"1": {
|
55
|
+
"name": "entity.name.function.declaration"
|
56
|
+
}
|
57
|
+
}
|
58
|
+
},
|
59
|
+
"keyword": {
|
60
|
+
"name": "keyword.other.rego",
|
61
|
+
"match": "(^|\\s+)(?:(default|not|package|import|as|with|else|some))\\s+"
|
62
|
+
},
|
63
|
+
"number": {
|
64
|
+
"name": "constant.numeric.rego",
|
65
|
+
"match": "(?x: # turn on extended mode\n -? # an optional minus\n (?:\n 0 # a zero\n | # ...or...\n [1-9] # a 1-9 character\n \\d* # followed by zero or more digits\n )\n (?:\n (?:\n \\. # a period\n \\d+ # followed by one or more digits\n )?\n (?:\n [eE] # an e character\n [+-]? # followed by an option +/-\n \\d+ # followed by one or more digits\n )? # make exponent optional\n )? # make decimal portion optional\n )"
|
66
|
+
},
|
67
|
+
"operator": {
|
68
|
+
"patterns": [
|
69
|
+
{
|
70
|
+
"name": "keyword.operator.comparison.rego",
|
71
|
+
"match": "\\=|\\!\\=|\u003e|\u003c|\u003c\\=|\u003e\\=|\\+|-|\\*|%|/|\\||\u0026|:\\="
|
72
|
+
}
|
73
|
+
]
|
74
|
+
},
|
75
|
+
"string": {
|
76
|
+
"name": "string.quoted.double.rego",
|
77
|
+
"begin": "\"",
|
78
|
+
"end": "\"",
|
79
|
+
"patterns": [
|
80
|
+
{
|
81
|
+
"name": "constant.character.escape.rego",
|
82
|
+
"match": "(?x: # turn on extended mode\n\t \\\\ # a literal backslash\n\t (?: # ...followed by...\n\t [\"\\\\/bfnrt] # one of these characters\n\t | # ...or...\n\t u # a u\n\t [0-9a-fA-F]{4} # and four hex digits\n\t )\n\t )"
|
83
|
+
},
|
84
|
+
{
|
85
|
+
"name": "invalid.illegal.unrecognized-string-escape.rego",
|
86
|
+
"match": "\\\\."
|
87
|
+
}
|
88
|
+
],
|
89
|
+
"beginCaptures": {
|
90
|
+
"0": {
|
91
|
+
"name": "punctuation.definition.string.begin.rego"
|
92
|
+
}
|
93
|
+
},
|
94
|
+
"endCaptures": {
|
95
|
+
"0": {
|
96
|
+
"name": "punctuation.definition.string.end.rego"
|
97
|
+
}
|
98
|
+
}
|
99
|
+
},
|
100
|
+
"term": {
|
101
|
+
"patterns": [
|
102
|
+
{
|
103
|
+
"include": "#constant"
|
104
|
+
},
|
105
|
+
{
|
106
|
+
"include": "#string"
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"include": "#number"
|
110
|
+
},
|
111
|
+
{
|
112
|
+
"include": "#call"
|
113
|
+
},
|
114
|
+
{
|
115
|
+
"include": "#variable"
|
116
|
+
}
|
117
|
+
]
|
118
|
+
},
|
119
|
+
"variable": {
|
120
|
+
"name": "meta.identifier.rego",
|
121
|
+
"match": "\\b[[:alpha:]_][[:alnum:]_]*\\b"
|
122
|
+
}
|
123
|
+
}
|
124
|
+
}
|
data/grammars/source.sass.json
CHANGED
@@ -258,7 +258,7 @@
|
|
258
258
|
},
|
259
259
|
{
|
260
260
|
"name": "meta.function.include.sass",
|
261
|
-
"begin": "^\\s*(\\+(?!\\s+)|(?:(@)include(?=\\s+)))\\s*([a-zA-Z0-9_-]+)",
|
261
|
+
"begin": "^\\s*(\\+(?!\\s+)|(?:(@)include(?=\\s+)))\\s*(?:([\\w-]+)(\\.))?([a-zA-Z0-9_-]+)",
|
262
262
|
"end": "(;)?$",
|
263
263
|
"patterns": [
|
264
264
|
{
|
@@ -273,6 +273,12 @@
|
|
273
273
|
"name": "punctuation.definition.entity.sass"
|
274
274
|
},
|
275
275
|
"3": {
|
276
|
+
"name": "variable.sass"
|
277
|
+
},
|
278
|
+
"4": {
|
279
|
+
"name": "punctuation.access.module.sass"
|
280
|
+
},
|
281
|
+
"5": {
|
276
282
|
"name": "variable.other.sass"
|
277
283
|
}
|
278
284
|
},
|
@@ -354,6 +360,112 @@
|
|
354
360
|
}
|
355
361
|
}
|
356
362
|
},
|
363
|
+
{
|
364
|
+
"name": "meta.at-rule.use.sass",
|
365
|
+
"begin": "^\\s*((@)use\\b)\\s*",
|
366
|
+
"end": "(;)?$",
|
367
|
+
"patterns": [
|
368
|
+
{
|
369
|
+
"name": "keyword.control.operator",
|
370
|
+
"match": "\\b(as|with)\\b"
|
371
|
+
},
|
372
|
+
{
|
373
|
+
"name": "variable.sass",
|
374
|
+
"match": "\\b[\\w-]+\\b"
|
375
|
+
},
|
376
|
+
{
|
377
|
+
"name": "variable.language.expanded-namespace.sass",
|
378
|
+
"match": "\\*"
|
379
|
+
},
|
380
|
+
{
|
381
|
+
"include": "#string-single"
|
382
|
+
},
|
383
|
+
{
|
384
|
+
"include": "#string-double"
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"include": "#comments"
|
388
|
+
},
|
389
|
+
{
|
390
|
+
"begin": "\\(",
|
391
|
+
"end": "\\)",
|
392
|
+
"patterns": [
|
393
|
+
{
|
394
|
+
"include": "#property-value"
|
395
|
+
}
|
396
|
+
],
|
397
|
+
"beginCaptures": {
|
398
|
+
"0": {
|
399
|
+
"name": "punctuation.definition.module.begin.bracket.round.sass"
|
400
|
+
}
|
401
|
+
},
|
402
|
+
"endCaptures": {
|
403
|
+
"0": {
|
404
|
+
"name": "punctuation.definition.module.end.bracket.round.sass"
|
405
|
+
}
|
406
|
+
}
|
407
|
+
}
|
408
|
+
],
|
409
|
+
"beginCaptures": {
|
410
|
+
"1": {
|
411
|
+
"name": "keyword.control.at-rule.use.sass"
|
412
|
+
},
|
413
|
+
"2": {
|
414
|
+
"name": "punctuation.definition.keyword.sass"
|
415
|
+
}
|
416
|
+
},
|
417
|
+
"endCaptures": {
|
418
|
+
"1": {
|
419
|
+
"name": "invalid.illegal.punctuation.sass"
|
420
|
+
}
|
421
|
+
}
|
422
|
+
},
|
423
|
+
{
|
424
|
+
"name": "meta.at-rule.forward.sass",
|
425
|
+
"begin": "\\s*((@)forward\\b)\\s*",
|
426
|
+
"end": "\\s*(?=;)",
|
427
|
+
"patterns": [
|
428
|
+
{
|
429
|
+
"name": "keyword.control.operator",
|
430
|
+
"match": "\\b(as|hide|show)\\b"
|
431
|
+
},
|
432
|
+
{
|
433
|
+
"match": "\\b([\\w-]+)(\\*)",
|
434
|
+
"captures": {
|
435
|
+
"1": {
|
436
|
+
"name": "entity.other.attribute-name.module.sass"
|
437
|
+
},
|
438
|
+
"2": {
|
439
|
+
"name": "punctuation.definition.wildcard.sass"
|
440
|
+
}
|
441
|
+
}
|
442
|
+
},
|
443
|
+
{
|
444
|
+
"name": "entity.name.function.sass",
|
445
|
+
"match": "\\b[\\w-]+\\b"
|
446
|
+
},
|
447
|
+
{
|
448
|
+
"include": "#variable-usage"
|
449
|
+
},
|
450
|
+
{
|
451
|
+
"include": "#string-single"
|
452
|
+
},
|
453
|
+
{
|
454
|
+
"include": "#string-double"
|
455
|
+
},
|
456
|
+
{
|
457
|
+
"include": "#comments"
|
458
|
+
}
|
459
|
+
],
|
460
|
+
"captures": {
|
461
|
+
"1": {
|
462
|
+
"name": "keyword.control.at-rule.forward.sass"
|
463
|
+
},
|
464
|
+
"2": {
|
465
|
+
"name": "punctuation.definition.keyword.sass"
|
466
|
+
}
|
467
|
+
}
|
468
|
+
},
|
357
469
|
{
|
358
470
|
"name": "meta.variable-usage.sass",
|
359
471
|
"begin": "^\\s*(\\+)([a-zA-Z0-9_-]+)",
|
@@ -826,6 +938,43 @@
|
|
826
938
|
{
|
827
939
|
"include": "#string-single"
|
828
940
|
},
|
941
|
+
{
|
942
|
+
"begin": "([\\w-]+)(\\.)([\\w-]+)(\\()",
|
943
|
+
"end": "(\\))",
|
944
|
+
"patterns": [
|
945
|
+
{
|
946
|
+
"include": "#string-double"
|
947
|
+
},
|
948
|
+
{
|
949
|
+
"include": "#string-single"
|
950
|
+
},
|
951
|
+
{
|
952
|
+
"include": "#variable-usage"
|
953
|
+
},
|
954
|
+
{
|
955
|
+
"include": "source.css#numeric-values"
|
956
|
+
}
|
957
|
+
],
|
958
|
+
"beginCaptures": {
|
959
|
+
"1": {
|
960
|
+
"name": "variable.sass"
|
961
|
+
},
|
962
|
+
"2": {
|
963
|
+
"name": "punctuation.access.module.sass"
|
964
|
+
},
|
965
|
+
"3": {
|
966
|
+
"name": "support.function.misc.sass"
|
967
|
+
},
|
968
|
+
"4": {
|
969
|
+
"name": "punctuation.section.function.sass"
|
970
|
+
}
|
971
|
+
},
|
972
|
+
"endCaptures": {
|
973
|
+
"1": {
|
974
|
+
"name": "punctuation.section.function.sass"
|
975
|
+
}
|
976
|
+
}
|
977
|
+
},
|
829
978
|
{
|
830
979
|
"begin": "(rgb|url|attr|counter|counters|local|format)\\s*(\\()",
|
831
980
|
"end": "(\\))",
|
@@ -920,12 +1069,18 @@
|
|
920
1069
|
},
|
921
1070
|
"variable-usage": {
|
922
1071
|
"name": "meta.variable-usage.sass",
|
923
|
-
"match": "(!|\\$)([a-zA-Z0-9_-]+)",
|
1072
|
+
"match": "(?:([\\w-]+)(\\.)(?=\\$))?(!|\\$)([a-zA-Z0-9_-]+)",
|
924
1073
|
"captures": {
|
925
1074
|
"1": {
|
926
|
-
"name": "
|
1075
|
+
"name": "variable.sass"
|
927
1076
|
},
|
928
1077
|
"2": {
|
1078
|
+
"name": "punctuation.access.module.sass"
|
1079
|
+
},
|
1080
|
+
"3": {
|
1081
|
+
"name": "punctuation.definition.entity.css"
|
1082
|
+
},
|
1083
|
+
"4": {
|
929
1084
|
"name": "variable.other.sass"
|
930
1085
|
}
|
931
1086
|
}
|
data/grammars/source.scala.json
CHANGED
@@ -101,7 +101,7 @@
|
|
101
101
|
"char-literal": {
|
102
102
|
"name": "string.quoted.other constant.character.literal.scala",
|
103
103
|
"begin": "'",
|
104
|
-
"end": "'",
|
104
|
+
"end": "'|$",
|
105
105
|
"patterns": [
|
106
106
|
{
|
107
107
|
"name": "constant.character.escape.scala",
|
@@ -187,6 +187,9 @@
|
|
187
187
|
{
|
188
188
|
"include": "#backQuotedVariable"
|
189
189
|
},
|
190
|
+
{
|
191
|
+
"include": "#curly-braces"
|
192
|
+
},
|
190
193
|
{
|
191
194
|
"include": "#meta-brackets"
|
192
195
|
},
|
@@ -230,7 +233,7 @@
|
|
230
233
|
"patterns": [
|
231
234
|
{
|
232
235
|
"name": "constant.language.scala",
|
233
|
-
"match": "\\b(false|null|true
|
236
|
+
"match": "\\b(false|null|true)\\b"
|
234
237
|
},
|
235
238
|
{
|
236
239
|
"name": "constant.numeric.scala",
|
@@ -238,18 +241,29 @@
|
|
238
241
|
},
|
239
242
|
{
|
240
243
|
"name": "variable.language.scala",
|
241
|
-
"match": "\\b(this|super
|
242
|
-
},
|
243
|
-
{
|
244
|
-
"name": "storage.type.primitive.scala",
|
245
|
-
"match": "\\b(Unit|Boolean|Byte|Char|Short|Int|Float|Long|Double)\\b"
|
246
|
-
},
|
247
|
-
{
|
248
|
-
"name": "storage.type.scala",
|
249
|
-
"match": "\\b(String|Symbol)\\b"
|
244
|
+
"match": "\\b(this|super)\\b"
|
250
245
|
}
|
251
246
|
]
|
252
247
|
},
|
248
|
+
"curly-braces": {
|
249
|
+
"begin": "\\{",
|
250
|
+
"end": "\\}",
|
251
|
+
"patterns": [
|
252
|
+
{
|
253
|
+
"include": "#code"
|
254
|
+
}
|
255
|
+
],
|
256
|
+
"beginCaptures": {
|
257
|
+
"0": {
|
258
|
+
"name": "punctuation.section.block.begin.scala"
|
259
|
+
}
|
260
|
+
},
|
261
|
+
"endCaptures": {
|
262
|
+
"0": {
|
263
|
+
"name": "punctuation.section.block.end.scala"
|
264
|
+
}
|
265
|
+
}
|
266
|
+
},
|
253
267
|
"declarations": {
|
254
268
|
"patterns": [
|
255
269
|
{
|
@@ -300,7 +314,7 @@
|
|
300
314
|
}
|
301
315
|
},
|
302
316
|
{
|
303
|
-
"match": "\\b(val)\\s+([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)\\b",
|
317
|
+
"match": "\\b(val)\\s+([A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?(\\s*,\\s*[A-Z\\p{Lt}\\p{Lu}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?)*)\\b",
|
304
318
|
"captures": {
|
305
319
|
"1": {
|
306
320
|
"name": "keyword.declaration.stable.scala"
|
@@ -380,6 +394,10 @@
|
|
380
394
|
{
|
381
395
|
"include": "#comments"
|
382
396
|
},
|
397
|
+
{
|
398
|
+
"name": "keyword.given.import.scala",
|
399
|
+
"match": "(given)(?=\\s)"
|
400
|
+
},
|
383
401
|
{
|
384
402
|
"name": "entity.name.import.scala",
|
385
403
|
"match": "(`[^`]+`|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))"
|
@@ -407,6 +425,17 @@
|
|
407
425
|
}
|
408
426
|
}
|
409
427
|
},
|
428
|
+
{
|
429
|
+
"match": "(given)(\\s+(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))?(?=\\s*[,}])",
|
430
|
+
"captures": {
|
431
|
+
"1": {
|
432
|
+
"name": "keyword.given.import.scala"
|
433
|
+
},
|
434
|
+
"2": {
|
435
|
+
"name": "entity.name.type.import.scala"
|
436
|
+
}
|
437
|
+
}
|
438
|
+
},
|
410
439
|
{
|
411
440
|
"name": "entity.name.import.scala",
|
412
441
|
"match": "([^\\s.,}]+)"
|
@@ -433,7 +462,7 @@
|
|
433
462
|
"inheritance": {
|
434
463
|
"patterns": [
|
435
464
|
{
|
436
|
-
"match": "(extends|with|derives
|
465
|
+
"match": "(extends|with|derives)\\s+([^\\s\\{\\(\\[\\]]+)",
|
437
466
|
"captures": {
|
438
467
|
"1": {
|
439
468
|
"name": "keyword.declaration.scala"
|
@@ -468,7 +497,11 @@
|
|
468
497
|
},
|
469
498
|
{
|
470
499
|
"name": "keyword.control.flow.scala",
|
471
|
-
"match": "\\b(else|if|do|while|for|yield|match|case)\\b"
|
500
|
+
"match": "\\b(else|if|then|do|while|for|yield|match|case)\\b"
|
501
|
+
},
|
502
|
+
{
|
503
|
+
"name": "keyword.control.flow.end.scala",
|
504
|
+
"match": "^\\s*end(?=\\s+(if|while|for|match|(?:[A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}0-9]*(?:(?\u003c=_)[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+)?|[!#%\u0026*+\\-\\/:\u003c\u003e=?@^|~\\p{Sm}\\p{So}]+))\\s*(//.*|/\\*(?!.*\\*/\\s*\\S.*).*)?$)"
|
472
505
|
},
|
473
506
|
{
|
474
507
|
"name": "keyword.control.exception.scala",
|
@@ -545,7 +578,7 @@
|
|
545
578
|
},
|
546
579
|
"scala-quoted": {
|
547
580
|
"name": "constant.other.quoted.scala",
|
548
|
-
"match": "'\\{
|
581
|
+
"match": "('\\{|'\\[)(?!')"
|
549
582
|
},
|
550
583
|
"scala-symbol": {
|
551
584
|
"name": "constant.other.symbol.scala",
|
@@ -568,7 +601,7 @@
|
|
568
601
|
},
|
569
602
|
{
|
570
603
|
"name": "storage.modifier.other",
|
571
|
-
"match": "\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|given|
|
604
|
+
"match": "\\b(synchronized|@volatile|abstract|final|lazy|sealed|implicit|given|enum|inline |opaque |override|@transient|@native)\\b"
|
572
605
|
}
|
573
606
|
]
|
574
607
|
},
|
@@ -579,7 +612,8 @@
|
|
579
612
|
"match": "\\$\\$"
|
580
613
|
},
|
581
614
|
{
|
582
|
-
"
|
615
|
+
"name": "meta.template.expression.scala",
|
616
|
+
"match": "(\\$)([A-Z\\p{Lt}\\p{Lu}_a-z\\$\\p{Lo}\\p{Nl}\\p{Ll}][[A-Z\\p{Lt}\\p{Lu}_a-z\\p{Lo}\\p{Nl}\\p{Ll}0-9]]*)",
|
583
617
|
"captures": {
|
584
618
|
"1": {
|
585
619
|
"name": "punctuation.definition.template-expression.begin.scala"
|
@@ -587,7 +621,8 @@
|
|
587
621
|
}
|
588
622
|
},
|
589
623
|
{
|
590
|
-
"name": "
|
624
|
+
"name": "meta.template.expression.scala",
|
625
|
+
"contentName": "meta.embedded.line.scala",
|
591
626
|
"begin": "\\$\\{",
|
592
627
|
"end": "\\}",
|
593
628
|
"patterns": [
|