github-linguist 5.0.5 → 5.0.6
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 +11 -5
- data/grammars/hint.message.haskell.json +11 -5
- data/grammars/hint.type.haskell.json +11 -5
- data/grammars/source.SASLog.json +1 -1
- data/grammars/source.clarion.json +1 -1
- data/grammars/source.clean.json +4 -4
- data/grammars/source.click.json +19 -8
- data/grammars/source.clojure.json +8 -6
- data/grammars/source.cobol.json +16 -23
- data/grammars/source.coffee.json +1 -1
- data/grammars/source.csound-document.json +0 -5
- data/grammars/source.csound-score.json +6 -2
- data/grammars/source.csound.json +77 -14
- data/grammars/source.css.less.json +1 -1
- data/grammars/source.ditroff.desc.json +379 -0
- data/grammars/source.ditroff.json +545 -0
- data/grammars/source.elixir.json +44 -2
- data/grammars/source.fsharp.json +20 -93
- data/grammars/source.haskell.json +13 -6
- data/grammars/source.hlsl.json +217 -0
- data/grammars/source.js.json +34 -16
- data/grammars/source.julia.json +4 -4
- data/grammars/source.meson.json +167 -0
- data/grammars/source.p4.json +117 -0
- data/grammars/source.perl6fe.json +101 -18
- data/grammars/source.python.json +7 -7
- data/grammars/source.quoting.perl6fe.json +101 -0
- data/grammars/source.regexp.extended.json +9 -5
- data/grammars/source.regexp.json +12 -21
- data/grammars/source.rust.json +33 -3
- data/grammars/source.sas.json +2 -2
- data/grammars/source.shaderlab.json +174 -0
- data/grammars/source.terraform.json +196 -0
- data/grammars/source.turing.json +1 -1
- data/grammars/source.viml.json +1 -1
- data/grammars/source.yaml.json +3 -1
- data/grammars/text.html.php.blade.json +10 -7
- data/grammars/text.restructuredtext.json +57 -6
- data/grammars/text.roff.json +1 -1
- data/grammars/text.slim.json +1 -1
- data/grammars/text.tex.latex.haskell.json +11 -5
- data/lib/linguist/documentation.yml +1 -1
- data/lib/linguist/heuristics.rb +8 -0
- data/lib/linguist/languages.json +1 -1
- data/lib/linguist/languages.yml +20 -2
- data/lib/linguist/samples.json +1253 -68
- data/lib/linguist/version.rb +1 -1
- metadata +9 -3
- data/grammars/source.regexp.comment.json +0 -11
data/grammars/source.js.json
CHANGED
@@ -1350,6 +1350,35 @@
|
|
1350
1350
|
}
|
1351
1351
|
]
|
1352
1352
|
},
|
1353
|
+
{
|
1354
|
+
"begin": "(sql|SQL|Sql)\\s*(`)",
|
1355
|
+
"beginCaptures": {
|
1356
|
+
"1": {
|
1357
|
+
"name": "entity.name.function.js"
|
1358
|
+
},
|
1359
|
+
"2": {
|
1360
|
+
"name": "punctuation.definition.string.begin.js"
|
1361
|
+
}
|
1362
|
+
},
|
1363
|
+
"end": "`",
|
1364
|
+
"endCaptures": {
|
1365
|
+
"0": {
|
1366
|
+
"name": "punctuation.definition.string.end.js"
|
1367
|
+
}
|
1368
|
+
},
|
1369
|
+
"name": "string.quoted.template.sql.js",
|
1370
|
+
"patterns": [
|
1371
|
+
{
|
1372
|
+
"include": "#string_escapes"
|
1373
|
+
},
|
1374
|
+
{
|
1375
|
+
"include": "#interpolated_js"
|
1376
|
+
},
|
1377
|
+
{
|
1378
|
+
"include": "source.sql"
|
1379
|
+
}
|
1380
|
+
]
|
1381
|
+
},
|
1353
1382
|
{
|
1354
1383
|
"begin": "`",
|
1355
1384
|
"beginCaptures": {
|
@@ -1843,25 +1872,14 @@
|
|
1843
1872
|
"name": "comment.block.js"
|
1844
1873
|
},
|
1845
1874
|
{
|
1846
|
-
"begin": "
|
1875
|
+
"begin": "//",
|
1847
1876
|
"beginCaptures": {
|
1848
|
-
"
|
1849
|
-
"name": "punctuation.
|
1877
|
+
"0": {
|
1878
|
+
"name": "punctuation.definition.comment.js"
|
1850
1879
|
}
|
1851
1880
|
},
|
1852
|
-
"end": "
|
1853
|
-
"
|
1854
|
-
{
|
1855
|
-
"begin": "//",
|
1856
|
-
"beginCaptures": {
|
1857
|
-
"0": {
|
1858
|
-
"name": "punctuation.definition.comment.js"
|
1859
|
-
}
|
1860
|
-
},
|
1861
|
-
"end": "\\n",
|
1862
|
-
"name": "comment.line.double-slash.js"
|
1863
|
-
}
|
1864
|
-
]
|
1881
|
+
"end": "$",
|
1882
|
+
"name": "comment.line.double-slash.js"
|
1865
1883
|
}
|
1866
1884
|
]
|
1867
1885
|
},
|
data/grammars/source.julia.json
CHANGED
@@ -149,18 +149,18 @@
|
|
149
149
|
"name": "support.type.julia"
|
150
150
|
}
|
151
151
|
},
|
152
|
-
"match": "\\b(function|
|
152
|
+
"match": "\\b(function|macro)\\s+([\\w.!]+)({[^}]*})?\\("
|
153
153
|
}
|
154
154
|
]
|
155
155
|
},
|
156
156
|
"keyword": {
|
157
157
|
"patterns": [
|
158
158
|
{
|
159
|
-
"match": "\\b(?:function|
|
159
|
+
"match": "\\b(?:function|(mutable\\s+)?struct|macro|quote|((primitive|abstract)\\s+)?type|immutable|module|baremodule|new|where)\\b",
|
160
160
|
"name": "keyword.other.julia"
|
161
161
|
},
|
162
162
|
{
|
163
|
-
"match": "\\b(?:if|else|elseif|while|for|in|begin|let|end|do|try|catch|finally|return|break|continue)\\b",
|
163
|
+
"match": "\\b(?:if|else|elseif|while|for|in|isa|begin|let|end|do|try|catch|finally|return|break|continue)\\b",
|
164
164
|
"name": "keyword.control.julia"
|
165
165
|
},
|
166
166
|
{
|
@@ -396,7 +396,7 @@
|
|
396
396
|
"name": "punctuation.separator.inheritance.julia"
|
397
397
|
}
|
398
398
|
},
|
399
|
-
"match": "(type|immutable)\\s+(\\w+)(\\s*(<:)\\s*\\w+(?:{.*})?)?",
|
399
|
+
"match": "(((primitive|abstract)\\s+)?type|(mutable\\s+)?struct|immutable)\\s+(\\w+)(\\s*(<:)\\s*\\w+(?:{.*})?)?",
|
400
400
|
"name": "meta.type.julia"
|
401
401
|
}
|
402
402
|
]
|
@@ -0,0 +1,167 @@
|
|
1
|
+
{
|
2
|
+
"name": "Meson",
|
3
|
+
"scopeName": "source.meson",
|
4
|
+
"author": "Patrick Griffis",
|
5
|
+
"fileTypes": [
|
6
|
+
"meson.build",
|
7
|
+
"meson_options.txt"
|
8
|
+
],
|
9
|
+
"uuid": "b3713e1e-4289-4e0c-88af-79e8876e5adb",
|
10
|
+
"patterns": [
|
11
|
+
{
|
12
|
+
"match": "\\#.*$",
|
13
|
+
"name": "comment.line.meson"
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"include": "#string_quoted_single"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"match": "\\b(if|else|elif|endif|foreach|endforeach)\\b",
|
20
|
+
"name": "keyword.control.flow.meson"
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"match": "\\b(and|not|or)\\b",
|
24
|
+
"name": "keyword.operator.logical.meson"
|
25
|
+
},
|
26
|
+
{
|
27
|
+
"match": "\\b(true|false)\\b",
|
28
|
+
"name": "constant.language.meson"
|
29
|
+
},
|
30
|
+
{
|
31
|
+
"match": "\\b([1-9]+[0-9]*\\.[0-9]*)",
|
32
|
+
"name": "constant.numeric.float.meson"
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"match": "\\b([1-9]+[0-9]*|0)",
|
36
|
+
"name": "constant.numeric.integer.decimal.meson"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"match": "\\b(meson|host_machine|build_machine|target_machine)\\b",
|
40
|
+
"name": "support.variable.meson"
|
41
|
+
},
|
42
|
+
{
|
43
|
+
"match": "\\b([\\w_]+)\\s*(?=:)",
|
44
|
+
"name": "variable.parameter.function.keyword.meson"
|
45
|
+
},
|
46
|
+
{
|
47
|
+
"match": "<\\=|>\\=|\\=\\=|<|>|\\!\\=",
|
48
|
+
"name": "keyword.operator.comparison.meson"
|
49
|
+
},
|
50
|
+
{
|
51
|
+
"match": "\\+\\=",
|
52
|
+
"name": "keyword.operator.assignment.augmented.meson"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"match": "\\=",
|
56
|
+
"name": "keyword.operator.assignment.meson"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"match": "\\+|\\-|\\*|%|\\/",
|
60
|
+
"name": "keyword.operator.arithmetic.meson"
|
61
|
+
},
|
62
|
+
{
|
63
|
+
"match": "(?x)\\b(add_global_arguments|add_global_link_arguments|add_languages|add_project_arguments|add_project_link_arguments|add_test_setup|benchmark|build_target|configuration_data|configure_file|custom_target|declare_dependency|dependency|error|environment|executable|find_program|find_library|files|generator|get_option|get_variable|import|include_directories|install_data|install_headers|install_man|install_subdir|is_variable|jar|join_paths|library|message|option|project|run_command|run_target|set_variable|shared_library|shared_module|static_library|subdir|subproject|test|vcs_tag\n)\\b\\s*(?=\\()",
|
64
|
+
"name": "support.function.builtin.meson"
|
65
|
+
}
|
66
|
+
],
|
67
|
+
"repository": {
|
68
|
+
"constant_placeholder": {
|
69
|
+
"match": "(?i:(%(\\([a-z_]+\\))?#?0?\\-?[ ]?\\+?([0-9]*|\\*)(\\.([0-9]*|\\*))?([hL][a-z]|[a-z%]))|(\\{([!\\[\\].:\\w ]+)?\\}))",
|
70
|
+
"name": "constant.other.placeholder.meson"
|
71
|
+
},
|
72
|
+
"escaped_character": {
|
73
|
+
"captures": {
|
74
|
+
"1": {
|
75
|
+
"name": "constant.character.escape.newline.meson"
|
76
|
+
},
|
77
|
+
"2": {
|
78
|
+
"name": "constant.character.escape.backlash.meson"
|
79
|
+
},
|
80
|
+
"3": {
|
81
|
+
"name": "constant.character.escape.single-quote.meson"
|
82
|
+
},
|
83
|
+
"4": {
|
84
|
+
"name": "constant.character.escape.linefeed.meson"
|
85
|
+
},
|
86
|
+
"5": {
|
87
|
+
"name": "constant.character.escape.return.meson"
|
88
|
+
},
|
89
|
+
"6": {
|
90
|
+
"name": "constant.character.escape.tab.meson"
|
91
|
+
}
|
92
|
+
},
|
93
|
+
"match": "((\\\\\\n)|(\\\\\\\\)|(\\\\')|(\\\\n)|(\\\\r)|(\\\\t))"
|
94
|
+
},
|
95
|
+
"string_quoted_single": {
|
96
|
+
"patterns": [
|
97
|
+
{
|
98
|
+
"captures": {
|
99
|
+
"1": {
|
100
|
+
"name": "puncutation.definition.string.begin.meson"
|
101
|
+
},
|
102
|
+
"2": {
|
103
|
+
"name": "puncutation.definition.string.end.meson"
|
104
|
+
},
|
105
|
+
"3": {
|
106
|
+
"name": "meta.empty-string.single.meson"
|
107
|
+
}
|
108
|
+
},
|
109
|
+
"match": "(?<!')(')(('))(?!')",
|
110
|
+
"name": "string.quoted.single.single-line.meson"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"begin": "(''')",
|
114
|
+
"beginCaptures": {
|
115
|
+
"1": {
|
116
|
+
"name": "punctuation.definition.string.begin.meson"
|
117
|
+
}
|
118
|
+
},
|
119
|
+
"end": "((?<=''')(')''|''')",
|
120
|
+
"endCaptures": {
|
121
|
+
"1": {
|
122
|
+
"name": "punctuation.definition.string.end.meson"
|
123
|
+
},
|
124
|
+
"2": {
|
125
|
+
"name": "meta.empty-string.single.meson"
|
126
|
+
}
|
127
|
+
},
|
128
|
+
"name": "string.quoted.single.block.meson",
|
129
|
+
"patterns": [
|
130
|
+
{
|
131
|
+
"include": "#constant_placeholder"
|
132
|
+
},
|
133
|
+
{
|
134
|
+
"include": "#escaped_character"
|
135
|
+
}
|
136
|
+
]
|
137
|
+
},
|
138
|
+
{
|
139
|
+
"begin": "(')",
|
140
|
+
"beginCaptures": {
|
141
|
+
"1": {
|
142
|
+
"name": "punctuation.definition.string.begin.meson"
|
143
|
+
}
|
144
|
+
},
|
145
|
+
"end": "(')|(\\n)",
|
146
|
+
"endCaptures": {
|
147
|
+
"1": {
|
148
|
+
"name": "punctuation.definition.string.end.meson"
|
149
|
+
},
|
150
|
+
"2": {
|
151
|
+
"name": "invalid.illegal.unclosed-string.meson"
|
152
|
+
}
|
153
|
+
},
|
154
|
+
"name": "string.quoted.single.single-line.meson",
|
155
|
+
"patterns": [
|
156
|
+
{
|
157
|
+
"include": "#constant_placeholder"
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"include": "#escaped_character"
|
161
|
+
}
|
162
|
+
]
|
163
|
+
}
|
164
|
+
]
|
165
|
+
}
|
166
|
+
}
|
167
|
+
}
|
@@ -0,0 +1,117 @@
|
|
1
|
+
{
|
2
|
+
"scopeName": "source.p4",
|
3
|
+
"name": "P4",
|
4
|
+
"fileTypes": [
|
5
|
+
"p4"
|
6
|
+
],
|
7
|
+
"patterns": [
|
8
|
+
{
|
9
|
+
"begin": "\"",
|
10
|
+
"beginCaptures": {
|
11
|
+
"0": {
|
12
|
+
"name": "punctuation.definition.string.begin.p4"
|
13
|
+
}
|
14
|
+
},
|
15
|
+
"end": "\"",
|
16
|
+
"endCaptures": {
|
17
|
+
"0": {
|
18
|
+
"name": "punctuation.definition.string.end.p4"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"name": "string.quoted.double.p4"
|
22
|
+
},
|
23
|
+
{
|
24
|
+
"begin": "//",
|
25
|
+
"beginCaptures": {
|
26
|
+
"0": {
|
27
|
+
"name": "comment.p4"
|
28
|
+
}
|
29
|
+
},
|
30
|
+
"end": "\\n",
|
31
|
+
"name": "comment.line.p4"
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"match": "\\b(header_type|header|metadata|field_list|field_list_calculation|parser|parser_exception|parser_value_set|counter|meter|register|action|action_profile|table|control|extern)\\b",
|
35
|
+
"name": "storage.type.object.p4"
|
36
|
+
},
|
37
|
+
{
|
38
|
+
"match": "\\b(bool|bit|varbit|int)\\b",
|
39
|
+
"name": "storage.data.type.p4"
|
40
|
+
},
|
41
|
+
{
|
42
|
+
"match": "\\b(hit|miss|latest|return|default)\\b",
|
43
|
+
"name": "variable.language.p4"
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"match": "\\b(if|else if|else|return|hit|miss|true|false)\\b",
|
47
|
+
"name": "keyword.control.p4"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
"match": "\\b(and|or)\\b",
|
51
|
+
"name": "keyword.operator.p4"
|
52
|
+
},
|
53
|
+
{
|
54
|
+
"match": "\\b(exact|ternary|lpm|range|valid|mask)\\b",
|
55
|
+
"comment": "table field match type",
|
56
|
+
"name": "entity.name.type.p4"
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"match": "\\b(reads|actions|min_size|max_size|size|support_timeout|action_profile)\\b",
|
60
|
+
"comment": "table elements",
|
61
|
+
"name": "storage.type.p4"
|
62
|
+
},
|
63
|
+
{
|
64
|
+
"match": "\\b(bytes|packets)\\b",
|
65
|
+
"comment": "counter/meter/register types",
|
66
|
+
"name": "storage.type.p4"
|
67
|
+
},
|
68
|
+
{
|
69
|
+
"match": "\\b(width|layout|attributes|type|static|result|direct|instance_count|min_width|saturating)\\b",
|
70
|
+
"comment": "counter/meter/register fields",
|
71
|
+
"name": "entity.name.type.p4"
|
72
|
+
},
|
73
|
+
{
|
74
|
+
"match": "\\b(length|fields|max_length)\\b",
|
75
|
+
"comment": "header fields",
|
76
|
+
"name": "entity.name.type.p4"
|
77
|
+
},
|
78
|
+
{
|
79
|
+
"match": "\\#include",
|
80
|
+
"name": "meta.preprocessor.include.p4"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"match": "\\#define",
|
84
|
+
"name": "meta.preprocessor.define.p4"
|
85
|
+
},
|
86
|
+
{
|
87
|
+
"match": "\\b(apply|valid|select|current|extract|add_header|copy_header|remove_header|modify_field|add_to_field|add|set_field_to_hash_index|truncate|drop|no_op|push|pop|count|meter|generate_digest|resubmit|recirculate|clone_ingress_pkt_to_ingress|clone_egress_pkt_to_ingress|clone_ingress_pkt_to_egress|clone_egress_pkt_to_egress|register_write|register_read)\\b",
|
88
|
+
"comment": "primitive actions/builtin functions",
|
89
|
+
"name": "support.function.primitive.p4"
|
90
|
+
},
|
91
|
+
{
|
92
|
+
"match": "[a-zA-Z_][0-9a-zA-Z_]*",
|
93
|
+
"name": "support.any-method.p4"
|
94
|
+
},
|
95
|
+
{
|
96
|
+
"match": "[\\+|-]?[0-9]+'[0-9]+",
|
97
|
+
"comment": "const value",
|
98
|
+
"name": "constant.numeric.p4"
|
99
|
+
},
|
100
|
+
{
|
101
|
+
"match": "0(x|X)[0-9a-fA-F]+",
|
102
|
+
"name": "constant.numeric.p4"
|
103
|
+
},
|
104
|
+
{
|
105
|
+
"match": "0(b|B)[01]+",
|
106
|
+
"name": "constant.numeric.p4"
|
107
|
+
},
|
108
|
+
{
|
109
|
+
"match": "[0-9]+",
|
110
|
+
"name": "constant.numeric.p4"
|
111
|
+
},
|
112
|
+
{
|
113
|
+
"match": "\\b(true|false)\\b",
|
114
|
+
"name": "constant.language.p4"
|
115
|
+
}
|
116
|
+
]
|
117
|
+
}
|
@@ -227,6 +227,18 @@
|
|
227
227
|
}
|
228
228
|
]
|
229
229
|
},
|
230
|
+
{
|
231
|
+
"begin": "\\s*#`„",
|
232
|
+
"end": "”|“",
|
233
|
+
"name": "comment.multiline.hash-tick.left_double-low-q_right_double.perl6fe",
|
234
|
+
"patterns": [
|
235
|
+
{
|
236
|
+
"begin": "„",
|
237
|
+
"end": "”|“",
|
238
|
+
"name": "comment.internal.left_double-low-q_right_double.perl6fe"
|
239
|
+
}
|
240
|
+
]
|
241
|
+
},
|
230
242
|
{
|
231
243
|
"begin": "\\s*#`‘",
|
232
244
|
"end": "’",
|
@@ -314,6 +326,33 @@
|
|
314
326
|
}
|
315
327
|
]
|
316
328
|
},
|
329
|
+
{
|
330
|
+
"begin": "„",
|
331
|
+
"beginCaptures": {
|
332
|
+
"0": {
|
333
|
+
"name": "punctuation.definition.string.begin.perl6fe"
|
334
|
+
}
|
335
|
+
},
|
336
|
+
"end": "”|“",
|
337
|
+
"endCaptures": {
|
338
|
+
"0": {
|
339
|
+
"name": "punctuation.definition.string.end.perl6fe"
|
340
|
+
}
|
341
|
+
},
|
342
|
+
"name": "string.quoted.left_double-low-q_right_double.perl6fe",
|
343
|
+
"patterns": [
|
344
|
+
{
|
345
|
+
"match": "\\\\[„”|“abtnfre\\\\\\{\\}]",
|
346
|
+
"name": "constant.character.escape.perl6fe"
|
347
|
+
},
|
348
|
+
{
|
349
|
+
"include": "#interpolation"
|
350
|
+
},
|
351
|
+
{
|
352
|
+
"include": "source.quoting.perl6fe#q_left_double-low-q_right_double_string_content"
|
353
|
+
}
|
354
|
+
]
|
355
|
+
},
|
317
356
|
{
|
318
357
|
"begin": "(?<=\\W|^)‘",
|
319
358
|
"beginCaptures": {
|
@@ -479,7 +518,7 @@
|
|
479
518
|
}
|
480
519
|
},
|
481
520
|
{
|
482
|
-
"begin": "(?x)\n(?<=
|
521
|
+
"begin": "(?x)\n(?<= ^|[=,(\\[~]|when|=> ) \\s*\n(?:\n (m|rx)\n (\n (?:\n (?<!:P5) # < This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # < include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([/]) # Solidus",
|
483
522
|
"beginCaptures": {
|
484
523
|
"1": {
|
485
524
|
"name": "string.regexp.construct.perl6fe"
|
@@ -491,7 +530,7 @@
|
|
491
530
|
"name": "punctuation.definition.regexp.perl6fe"
|
492
531
|
}
|
493
532
|
},
|
494
|
-
"end": "(?x) (?: (?<!\\\\)|(?<=\\\\\\\\) ) (
|
533
|
+
"end": "(?x) (?: (?<!\\\\)|(?<=\\\\\\\\)|(?<!')|(?<=\\\\ ') ) (/)",
|
495
534
|
"endCaptures": {
|
496
535
|
"1": {
|
497
536
|
"name": "punctuation.definition.regexp.perl6fe"
|
@@ -508,7 +547,7 @@
|
|
508
547
|
]
|
509
548
|
},
|
510
549
|
{
|
511
|
-
"begin": "(?x)\n(?<= ^|[=,(\\[~]|when|=> ) \\s*\n(?:\n (m|rx)\n (\n (?:\n (?<!:P5) # < This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # < include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([
|
550
|
+
"begin": "(?x)\n(?<= ^|[=,(\\[~]|when|=> ) \\s*\n(?:\n (m|rx)\n (\n (?:\n (?<!:P5) # < This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # < include p5_regex above it\n )*\n )\n) # With the m or rx\n\\s*\n([{]) # Left curly brace",
|
512
551
|
"beginCaptures": {
|
513
552
|
"1": {
|
514
553
|
"name": "string.regexp.construct.perl6fe"
|
@@ -520,13 +559,13 @@
|
|
520
559
|
"name": "punctuation.definition.regexp.perl6fe"
|
521
560
|
}
|
522
561
|
},
|
523
|
-
"end": "(?x) (?: (?<!\\\\)|(?<=\\\\\\\\) ) (
|
562
|
+
"end": "(?x) (?: (?<!\\\\)|(?<=\\\\\\\\) ) (\\})",
|
524
563
|
"endCaptures": {
|
525
564
|
"1": {
|
526
565
|
"name": "punctuation.definition.regexp.perl6fe"
|
527
566
|
}
|
528
567
|
},
|
529
|
-
"contentName": "
|
568
|
+
"contentName": "fstring.regexp.perl6fe",
|
530
569
|
"patterns": [
|
531
570
|
{
|
532
571
|
"include": "#interpolation"
|
@@ -614,6 +653,35 @@
|
|
614
653
|
}
|
615
654
|
]
|
616
655
|
},
|
656
|
+
{
|
657
|
+
"begin": "(?x)\n(?<= ^|\\s )\n(?:\n (m|rx|s|S)\n (\n (?:\n (?<!:P5) # < This can maybe be removed because we\n \\s*:\\w+\n (?!\\s*:P5) # < include p5_regex above it\n )*\n )\n)\n\\s*\n([^#\\p{Ps}\\p{Pe}\\p{Pi}\\p{Pf}\\w'\\-<>\\-])",
|
658
|
+
"beginCaptures": {
|
659
|
+
"1": {
|
660
|
+
"name": "string.regexp.construct.perl6fe"
|
661
|
+
},
|
662
|
+
"2": {
|
663
|
+
"name": "entity.name.section.adverb.regexp.perl6fe"
|
664
|
+
},
|
665
|
+
"3": {
|
666
|
+
"name": "punctuation.definition.regexp.perl6fe"
|
667
|
+
}
|
668
|
+
},
|
669
|
+
"end": "(?x) (?: (?<!\\\\)|(?<=\\\\\\\\) ) (\\3)",
|
670
|
+
"endCaptures": {
|
671
|
+
"1": {
|
672
|
+
"name": "punctuation.definition.regexp.perl6fe"
|
673
|
+
}
|
674
|
+
},
|
675
|
+
"contentName": "string.regexp.perl6fe",
|
676
|
+
"patterns": [
|
677
|
+
{
|
678
|
+
"include": "#interpolation"
|
679
|
+
},
|
680
|
+
{
|
681
|
+
"include": "source.regexp.perl6fe"
|
682
|
+
}
|
683
|
+
]
|
684
|
+
},
|
617
685
|
{
|
618
686
|
"include": "#shellquotes"
|
619
687
|
},
|
@@ -643,9 +711,6 @@
|
|
643
711
|
}
|
644
712
|
},
|
645
713
|
"patterns": [
|
646
|
-
{
|
647
|
-
"include": "#interpolation"
|
648
|
-
},
|
649
714
|
{
|
650
715
|
"begin": "(?<=/)",
|
651
716
|
"end": "\\n",
|
@@ -656,12 +721,21 @@
|
|
656
721
|
],
|
657
722
|
"name": "meta.heredoc.continuation.perl6fe"
|
658
723
|
},
|
724
|
+
{
|
725
|
+
"begin": "^",
|
726
|
+
"end": "$",
|
727
|
+
"patterns": [
|
728
|
+
{
|
729
|
+
"include": "#interpolation"
|
730
|
+
}
|
731
|
+
]
|
732
|
+
},
|
659
733
|
{
|
660
734
|
"match": "(?x) ^ (?: . | \\n )* $",
|
661
735
|
"name": "string.quoted.qq.heredoc.perl6fe"
|
662
736
|
}
|
663
737
|
],
|
664
|
-
"name": "
|
738
|
+
"name": "string.quoted.heredoc.perl6fe"
|
665
739
|
},
|
666
740
|
{
|
667
741
|
"begin": "(?x) (?: ( [qQ](?!/)|qw|qww|qx|qqx ) \\s* ( (?:\\s*:\\w+)*\\s*: (?: to|heredoc ) )\\s* | (qto|Qto) \\s* ( (?:\\s*:\\w+)* )\\s* ) / (\\S+) /",
|
@@ -869,7 +943,7 @@
|
|
869
943
|
]
|
870
944
|
},
|
871
945
|
{
|
872
|
-
"match": "(?x) ( [+:\\-.*/] | \\|\\| )? (?<! = ) = (?! [>=~] )",
|
946
|
+
"match": "(?x) (?: [+:\\-.*/] | \\|\\| )? (?<! = ) = (?! [>=~] )",
|
873
947
|
"name": "storage.modifier.assignment.perl6fe"
|
874
948
|
},
|
875
949
|
{
|
@@ -892,7 +966,7 @@
|
|
892
966
|
"name": "keyword.control.repeat.perl6fe"
|
893
967
|
},
|
894
968
|
{
|
895
|
-
"match": "(?x)\n\\b (?<! [\\-:.] )\n(\n take|do|when|next|last|redo|return|return-rw\n |contend|maybe|defer|default|exit\n |continue|break|goto|leave|supply\n |async|lift|await|start|react|whenever|parse\n)\n(?! - ) \\b",
|
969
|
+
"match": "(?x)\n\\b (?<! [\\-:.] )\n(\n take|do|when|next|last|redo|return|return-rw\n |contend|maybe|defer|default|exit|quietly\n |continue|break|goto|leave|supply\n |async|lift|await|start|react|whenever|parse\n)\n(?! - ) \\b",
|
896
970
|
"name": "keyword.control.flowcontrol.perl6fe"
|
897
971
|
},
|
898
972
|
{
|
@@ -912,7 +986,7 @@
|
|
912
986
|
"name": "keyword.control.control-handlers.perl6fe"
|
913
987
|
},
|
914
988
|
{
|
915
|
-
"match": "(?x)\\b(?<![\\-:])( prec|irs|ofs|ors|export|raw|deep |binary|unary|reparsed|rw|parsed |cached|readonly|defequiv|will |ref|copy|inline|tighter|looser |equiv|assoc|required )(?!\\-)\\b (?!\\s*=>)",
|
989
|
+
"match": "(?x)\\b(?<![\\-:])( prec|irs|ofs|ors|export|raw|deep |binary|unary|reparsed|rw|parsed |cached|readonly|defequiv|will |ref|copy|inline|tighter|looser |equiv|assoc|required|pure )(?!\\-)\\b (?!\\s*=>)",
|
916
990
|
"name": "entity.name.type.trait.perl6fe"
|
917
991
|
},
|
918
992
|
{
|
@@ -924,7 +998,7 @@
|
|
924
998
|
"name": "constant.language.boolean.perl6fe"
|
925
999
|
},
|
926
1000
|
{
|
927
|
-
"match": "(?x)\\b(?<![\\-:])( fatal|internals|MONKEY\\-TYPING|nqp| strict|trace|worries|invocant|parameters|experimental| cur|soft|variables|attributes|v6(?:\\.\\w)*|lib|Test|NativeCall )(?!\\-) \\b (?!\\s*=>)",
|
1001
|
+
"match": "(?x)\\b(?<![\\-:])( fatal|internals|MONKEY\\-TYPING|nqp|QAST| strict|trace|worries|invocant|parameters|experimental| cur|soft|variables|attributes|v6(?:\\.\\w)*|lib|Test|NativeCall )(?!\\-) \\b (?!\\s*=>)",
|
928
1002
|
"name": "constant.language.pragma.perl6fe"
|
929
1003
|
},
|
930
1004
|
{
|
@@ -936,7 +1010,7 @@
|
|
936
1010
|
}
|
937
1011
|
},
|
938
1012
|
{
|
939
|
-
"match": "(?x)\\b(?<!:)(
|
1013
|
+
"match": "(?x)\\b(?<!:)(\n AST|Any|Array|Associative|Attribute|Bag|BagHash|Baggy|\n Blob|Block|Bool|Callable|Capture|Channel|Code|Complex|Cool|\n CurrentThreadScheduler|Cursor|Date|DateTime|Dateish|Duration|\n Enum|FatRat|Grammar|Hash|IO|Instant|Iterable|\n Iterator|Junction|Label|List|Lock|Macro|Map|Match|Metamodel|\n Method|Mix|MixHash|Mixy|Mu|Nil|Numeric|ObjAt|Pair|\n Parameter|Pod|Positional|PositionalBindFailover|Proc|Promise|\n Proxy|QuantHash|Range|Rat|Rational|Real|Regex|Routine|Scheduler|\n Seq|Set|SetHash|Setty|Signature|Slip|Stash|Str|str|Stringy|Sub|\n Submethod|Supply|Tap|Temporal|Thread|ThreadPoolScheduler|\n Variable|Version|Whatever|WhateverCode|bool|size_t|\n Int|int|int1|int2|int4|int8|int16|int32|int64|\n Rat|rat|rat1|rat2|rat4|rat8|rat16|rat32|rat64|\n Buf|buf|buf1|buf2|buf4|buf8|buf16|buf32|buf64|\n UInt|uint|uint1|uint2|uint4|uint8|uint16|uint32|uint64|\n utf8|utf16|utf32|Num|num|num32|num64|IntStr|NumStr|\n RatStr|ComplexStr|CArray|Pointer|long|longlong|\n # These are for types which have sub types\n Order|More|Less|Same\n)\\b (?!\\s*=>)",
|
940
1014
|
"captures": {
|
941
1015
|
"1": {
|
942
1016
|
"name": "support.type.perl6fe"
|
@@ -976,7 +1050,7 @@
|
|
976
1050
|
"name": "meta.operator.non.ligature.perl6fe"
|
977
1051
|
},
|
978
1052
|
{
|
979
|
-
"match": "(?x) <== | <=> | => | --> | -> | \\+\\| | \\+\\+ | -- | \\*\\* | \\?\\?\\? | \\?\\? | \\!\\!\\! | \\!\\! | && | \\+\\^ | \\?\\^ | %% | \\+& | \\+< | \\+> | \\+\\^ | \\.\\.(?!\\.) | \\.\\.\\^ | \\^\\.\\. | \\^\\.\\.\\^ | \\?\\| | !=(?!\\=) | !==(?!\\=) | <=(?!>) | >= | === | == | =:= | ~~ | \\x{2245} | \\|\\| | \\^\\^ | \\/\\/ | := | ::= | \\.\\.\\.",
|
1053
|
+
"match": "(?x) <== | ==> | <=> | => | --> | -> | \\+\\| | \\+\\+ | -- | \\*\\* | \\?\\?\\? | \\?\\? | \\!\\!\\! | \\!\\! | && | \\+\\^ | \\?\\^ | %% | \\+& | \\+< | \\+> | \\+\\^ | \\.\\.(?!\\.) | \\.\\.\\^ | \\^\\.\\. | \\^\\.\\.\\^ | \\?\\| | !=(?!\\=) | !==(?!\\=) | <=(?!>) | >= | === | == | =:= | ~~ | \\x{2245} | \\|\\| | \\^\\^ | \\/\\/ | := | ::= | \\.\\.\\.",
|
980
1054
|
"name": "keyword.operator.multi-symbol.perl6fe"
|
981
1055
|
},
|
982
1056
|
{
|
@@ -1002,7 +1076,16 @@
|
|
1002
1076
|
"name": "constant.language.whatever.hack.perl6fe"
|
1003
1077
|
},
|
1004
1078
|
{
|
1005
|
-
"match": "(?x)\\b(?<![
|
1079
|
+
"match": "(?x)\\b(?<![\\-\\\\])( :: )?(exists)(?!\\-)\\b(?!\\s*=>)",
|
1080
|
+
"captures": {
|
1081
|
+
"1": {
|
1082
|
+
"name": "keyword.operator.colon.perl6fe"
|
1083
|
+
}
|
1084
|
+
},
|
1085
|
+
"name": "support.function.perl6fe"
|
1086
|
+
},
|
1087
|
+
{
|
1088
|
+
"match": "(?x)\\b(?<![\\-:\\\\])( :: )?( eager|hyper|substr|index|rindex|grep|map|sort|join|lines|hints |chmod|split|reduce|min|max|reverse|truncate|zip|cat|roundrobin |classify|first|sum|keys|values|pairs|defined|delete|exists |elems|end|kv|any|all|one|wrap|shape|key|value|name|pop|push |shift|splice|unshift|floor|ceiling|abs|exp|log|log10|rand|sign |sqrt|sin|cos|tan|round|strand|roots|cis|unpolar|polar|atan2 |pick|chop|chomp|lc|lcfirst|uc|ucfirst|capitalize|mkdir |normalize|pack|unpack|quotemeta|comb|samecase|sameaccent|chars |nfd|nfc|nfkd|nfkc|printf|sprintf|caller|evalfile|run|runinstead |nothing|want|bless|chr|ord|ords|gmtime|time|eof|localtime|gethost |getpw|chroot|getlogin|getpeername|kill|fork|wait|perl|graphs |codes|bytes|clone|print|open|read|write|readline|say|seek|close |opendir|readdir|slurp|spurt|shell|run|pos|fmt|vec|link|unlink |symlink|unique|pair|asin|atan|sec|cosec|cotan|asec|acosec|acotan |sinh|cosh|tanh|asinh|done|acos|acosh|atanh|sech|cosech|cotanh |sech|acosech|acotanh|asech|ok|nok|plan-ok|dies-ok|lives-ok|skip |todo|pass|flunk|force-todo|use-ok|isa-ok|diag|is-deeply|isnt |like|skip-rest|unlike|cmp-ok|eval-dies-ok|nok-error|cmp-ok |eval-lives-ok|approx|is-approx|throws-ok|version-lt|plan|EVAL |succ|pred|times|nonce|once|signature|new|connect|operator|undef |undefine|sleep|from|to|infix|postfix|prefix|circumfix|can-ok |postcircumfix|minmax|lazy|count|unwrap|getc|pi|tau|context|void |quasi|body|each|contains|rewinddir|subst|can|isa|flush|arity |assuming|rewind|callwith|callsame|nextwith|nextsame|attr|does-ok |eval-elsewhere|none|not|srand|so|trim|trim-start|trim-end|lastcall |WHAT|WHY|WHERE|HOW|WHICH|VAR|WHO|WHENCE|ACCEPTS|REJECTS|not |iterator|by|re|im|invert|flip|gist|flat|tree|is-prime |throws-like|trans|race|hyper|tap|emit|done-testing|quit|dd|note |prepend|categorize|antipairs|categorize-list|parse-base|base |starts-with|ends-with|put|append|tail|\\x{03C0}|\\x{03C4}|\\x{212F} |get|words|new-from-pairs|uniname|uninames|uniprop|uniprops |slurp-rest|throw|break|keep|match|trim-leading|trim-trailing |is-lazy|pull-one|push-exactly|push-at-least|push-all|push-until-lazy |sink-all|skip-at-least|skip-at-least-pull-one )(?!\\-)\\b(?!\\s*=>)",
|
1006
1089
|
"captures": {
|
1007
1090
|
"1": {
|
1008
1091
|
"name": "keyword.operator.colon.perl6fe"
|
@@ -1076,7 +1159,7 @@
|
|
1076
1159
|
"name": "constant.numeric.radix.perl6fe"
|
1077
1160
|
},
|
1078
1161
|
{
|
1079
|
-
"match": "(?x)\n (?<= ^ | [×÷*=,:;^\\s{\\[(/] | \\.\\. )\n (?: [+-−] )?\n(?:\n (?: \\d+ (?: [\\_\\d]+ \\d )? )\n (?: \\. \\d+ (?: [\\_\\d]+ \\d )? )?\n)\n(?: e (?:-|−)? \\d+ (?: [\\_\\d]+ \\d )? )?",
|
1162
|
+
"match": "(?x)\n (?<= ^ | [×÷*=,:;^\\s{\\[(/] | \\.\\. | … )\n (?: \\^? [+-−] )?\n(?:\n (?: \\d+ (?: [\\_\\d]+ \\d )? )\n (?: \\. \\d+ (?: [\\_\\d]+ \\d )? )?\n)\n(?: e (?:-|−)? \\d+ (?: [\\_\\d]+ \\d )? )?",
|
1080
1163
|
"name": "constant.numeric.perl6fe"
|
1081
1164
|
},
|
1082
1165
|
{
|
@@ -2253,7 +2336,7 @@
|
|
2253
2336
|
"include": "#regexp-variables"
|
2254
2337
|
},
|
2255
2338
|
{
|
2256
|
-
"begin": "(\\{)",
|
2339
|
+
"begin": "(?x) (?<! m|rx|m:i|rx:i) (\\{)",
|
2257
2340
|
"beginCaptures": {
|
2258
2341
|
"1": {
|
2259
2342
|
"name": "punctuation.section.embedded.begin.perl6fe"
|