tm-grammars 1.26.0 → 1.27.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,155 @@
1
+ {
2
+ "displayName": "GN",
3
+ "name": "gn",
4
+ "patterns": [
5
+ {
6
+ "include": "#expression"
7
+ }
8
+ ],
9
+ "repository": {
10
+ "boolean": {
11
+ "match": "\\b(true|false)\\b",
12
+ "name": "constant.language.boolean.gn"
13
+ },
14
+ "builtins": {
15
+ "patterns": [
16
+ {
17
+ "match": "\\b(action|action_foreach|bundle_data|copy|create_bundle|executable|generated_file|group|loadable_module|rust_library|rust_proc_macro|shared_library|source_set|static_library|target)\\b",
18
+ "name": "support.function.gn"
19
+ },
20
+ {
21
+ "match": "\\b(assert|config|declare_args|defined|exec_script|filter_exclude|filter_include|filter_labels_exclude|filter_labels_include|foreach|forward_variables_from|get_label_info|get_path_info|get_target_outputs|getenv|import|label_matches|not_needed|pool|print|print_stack_trace|process_file_template|read_file|rebase_path|set_default_toolchain|set_defaults|split_list|string_join|string_replace|string_split|template|tool|toolchain|write_file)\\b",
22
+ "name": "support.function.gn"
23
+ },
24
+ {
25
+ "match": "\\b(current_cpu|current_os|current_toolchain|default_toolchain|gn_version|host_cpu|host_os|invoker|python_path|root_build_dir|root_gen_dir|root_out_dir|target_cpu|target_gen_dir|target_name|target_os|target_out_dir)\\b",
26
+ "name": "variable.language.gn"
27
+ },
28
+ {
29
+ "match": "\\b(aliased_deps|all_dependent_configs|allow_circular_includes_from|arflags|args|asmflags|assert_no_deps|bridge_header|bundle_contents_dir|bundle_deps_filter|bundle_executable_dir|bundle_resources_dir|bundle_root_dir|cflags|cflags_cc??|cflags_objcc??|check_includes|code_signing_args|code_signing_outputs|code_signing_script|code_signing_sources|complete_static_lib|configs|contents|crate_name|crate_root|crate_type|data|data_deps|data_keys|defines|depfile|deps|externs|framework_dirs|frameworks|friend|gen_deps|include_dirs|inputs|ldflags|lib_dirs|libs|metadata|mnemonic|module_name|output_conversion|output_dir|output_extension|output_name|output_prefix_override|outputs|partial_info_plist|pool|post_processing_args|post_processing_outputs|post_processing_script|post_processing_sources|precompiled_header|precompiled_header_type|precompiled_source|product_type|public|public_configs|public_deps|rebase|response_file_contents|rustflags|script|sources|swiftflags|testonly|transparent|visibility|walk_keys|weak_frameworks|write_runtime_deps|xcasset_compiler_flags|xcode_extra_attributes|xcode_test_application_name)\\b",
30
+ "name": "variable.language.gn"
31
+ }
32
+ ]
33
+ },
34
+ "call": {
35
+ "begin": "\\b([A-Z_a-z][0-9A-Z_a-z]*)\\s*\\(",
36
+ "beginCaptures": {
37
+ "1": {
38
+ "name": "entity.name.function.gn"
39
+ }
40
+ },
41
+ "end": "\\)",
42
+ "patterns": [
43
+ {
44
+ "include": "#expression"
45
+ }
46
+ ]
47
+ },
48
+ "comment": {
49
+ "begin": "#",
50
+ "end": "$",
51
+ "name": "comment.line.number-sign.gn"
52
+ },
53
+ "expression": {
54
+ "patterns": [
55
+ {
56
+ "include": "#keywords"
57
+ },
58
+ {
59
+ "include": "#builtins"
60
+ },
61
+ {
62
+ "include": "#call"
63
+ },
64
+ {
65
+ "include": "#literals"
66
+ },
67
+ {
68
+ "include": "#identifier"
69
+ },
70
+ {
71
+ "include": "#operators"
72
+ },
73
+ {
74
+ "include": "#comment"
75
+ }
76
+ ]
77
+ },
78
+ "identifier": {
79
+ "match": "\\b[A-Z_a-z][0-9A-Z_a-z]*\\b",
80
+ "name": "variable.general.gn"
81
+ },
82
+ "keywords": {
83
+ "match": "\\b(if|else)\\b",
84
+ "name": "keyword.control.if.gn"
85
+ },
86
+ "literals": {
87
+ "patterns": [
88
+ {
89
+ "include": "#string"
90
+ },
91
+ {
92
+ "include": "#number"
93
+ },
94
+ {
95
+ "include": "#boolean"
96
+ }
97
+ ]
98
+ },
99
+ "number": {
100
+ "match": "\\b-?\\d+\\b",
101
+ "name": "constant.numeric.gn"
102
+ },
103
+ "operators": {
104
+ "match": "\\b(\\+=??|==|!=|-=??|<=??|[!=>]|>=|&&|\\|\\|\\.)\\b",
105
+ "name": "keyword.operator.gn"
106
+ },
107
+ "string": {
108
+ "begin": "\"",
109
+ "end": "\"",
110
+ "name": "string.quoted.double.gn",
111
+ "patterns": [
112
+ {
113
+ "match": "\\\\[\"$\\\\]",
114
+ "name": "constant.character.escape.gn"
115
+ },
116
+ {
117
+ "match": "\\$0x\\h\\h",
118
+ "name": "constant.character.hex.gn"
119
+ },
120
+ {
121
+ "begin": "\\$\\{",
122
+ "beginCaptures": {
123
+ "0": {
124
+ "name": "punctuation.definition.template-expression.begin.gn"
125
+ }
126
+ },
127
+ "contentName": "meta.embedded.substitution.gn",
128
+ "end": "}",
129
+ "endCaptures": {
130
+ "0": {
131
+ "name": "punctuation.definition.template-expression.end.gn"
132
+ }
133
+ },
134
+ "patterns": [
135
+ {
136
+ "include": "#expression"
137
+ }
138
+ ]
139
+ },
140
+ {
141
+ "captures": {
142
+ "1": {
143
+ "name": "punctuation.definition.template-expression.begin.gn"
144
+ },
145
+ "2": {
146
+ "name": "meta.embedded.substitution.gn variable.general.gn"
147
+ }
148
+ },
149
+ "match": "(\\$)([A-Z_a-z][0-9A-Z_a-z]*)"
150
+ }
151
+ ]
152
+ }
153
+ },
154
+ "scopeName": "source.gn"
155
+ }
package/grammars/go.json CHANGED
@@ -121,6 +121,9 @@
121
121
  {
122
122
  "include": "#struct_variables_types"
123
123
  },
124
+ {
125
+ "include": "#support_functions"
126
+ },
124
127
  {
125
128
  "include": "#type-declarations"
126
129
  },
@@ -219,7 +219,7 @@
219
219
  "name": "storage.type.kusto"
220
220
  },
221
221
  {
222
- "match": "\\b(bool|decimal|dynamic|guid|int|long|real|string)\\b",
222
+ "match": "\\b(bool|boolean|decimal|dynamic|guid|int|long|real|string)\\b",
223
223
  "name": "storage.type.kusto"
224
224
  },
225
225
  {
@@ -74,7 +74,7 @@
74
74
  "all-balanced-env": {
75
75
  "patterns": [
76
76
  {
77
- "begin": "\\s*((\\\\)begin)(\\{)((?:\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|\\+?cases|(?:display)?math|\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\s*\\n)?",
77
+ "begin": "\\s*((\\\\)begin)(\\{)((?:\\+?array|equation|(?:IEEE|sub)?eqnarray|multline|align|aligned|alignat|alignedat|flalign|flaligned|flalignat|split|gather|gathered|(?:[+dr]|dr)?cases|(?:display)?math|\\+?[A-Za-z]*matrix|[BVbpv]?NiceMatrix|[BVbpv]?NiceArray|(?:arg)?m(?:ini|axi))[!*]?)(})(\\s*\\n)?",
78
78
  "captures": {
79
79
  "1": {
80
80
  "name": "support.function.be.latex"
@@ -323,7 +323,7 @@
323
323
  },
324
324
  "patterns": [
325
325
  {
326
- "include": "text.tex#braces"
326
+ "include": "#braces"
327
327
  },
328
328
  {
329
329
  "include": "$self"
@@ -359,7 +359,7 @@
359
359
  },
360
360
  "patterns": [
361
361
  {
362
- "include": "text.tex#braces"
362
+ "include": "#braces"
363
363
  },
364
364
  {
365
365
  "include": "$self"
@@ -437,6 +437,47 @@
437
437
  }
438
438
  ]
439
439
  },
440
+ "braces": {
441
+ "begin": "(?<!\\\\)\\{",
442
+ "beginCaptures": {
443
+ "0": {
444
+ "name": "punctuation.group.begin.latex"
445
+ }
446
+ },
447
+ "end": "(?<!\\\\)}",
448
+ "endCaptures": {
449
+ "0": {
450
+ "name": "punctuation.group.end.latex"
451
+ }
452
+ },
453
+ "name": "meta.group.braces.latex",
454
+ "patterns": [
455
+ {
456
+ "include": "#text-font-macro"
457
+ },
458
+ {
459
+ "include": "#citation-macro"
460
+ },
461
+ {
462
+ "include": "#references-macro"
463
+ },
464
+ {
465
+ "include": "#label-macro"
466
+ },
467
+ {
468
+ "include": "#macro-with-args-tokenizer"
469
+ },
470
+ {
471
+ "include": "#all-other-macro"
472
+ },
473
+ {
474
+ "include": "text.tex"
475
+ },
476
+ {
477
+ "include": "#braces"
478
+ }
479
+ ]
480
+ },
440
481
  "citation-macro": {
441
482
  "begin": "((\\\\)(?:[Aa]uto|foot|full|no|ref|short|[Tt]ext|[Pp]aren|[Ss]mart)?[Cc]ite(?:al)?(?:[pst]|author|year(?:par)?|title)?[ANP]*\\*?)((?:(?:\\([^)]*\\)){0,2}(?:\\[[^]]*]){0,2}\\{[-.:_\\p{Alphabetic}\\p{N}]*})*)(<[^]<>]*>)?((?:\\[[^]]*])*)(\\{)",
442
483
  "captures": {
@@ -3680,7 +3721,7 @@
3680
3721
  "include": "#column-specials"
3681
3722
  },
3682
3723
  {
3683
- "include": "text.tex#braces"
3724
+ "include": "#braces"
3684
3725
  },
3685
3726
  {
3686
3727
  "include": "text.tex"
@@ -3813,7 +3854,7 @@
3813
3854
  "include": "#column-specials"
3814
3855
  },
3815
3856
  {
3816
- "include": "text.tex#braces"
3857
+ "include": "#braces"
3817
3858
  },
3818
3859
  {
3819
3860
  "include": "text.tex"
@@ -4023,7 +4064,7 @@
4023
4064
  "name": "meta.function.section.$3.latex",
4024
4065
  "patterns": [
4025
4066
  {
4026
- "include": "text.tex#braces"
4067
+ "include": "#braces"
4027
4068
  },
4028
4069
  {
4029
4070
  "include": "$self"
@@ -4137,7 +4178,7 @@
4137
4178
  "name": "meta.function.emph.latex",
4138
4179
  "patterns": [
4139
4180
  {
4140
- "include": "text.tex#braces"
4181
+ "include": "#braces"
4141
4182
  },
4142
4183
  {
4143
4184
  "include": "$self"
@@ -4167,7 +4208,7 @@
4167
4208
  "name": "meta.function.textit.latex",
4168
4209
  "patterns": [
4169
4210
  {
4170
- "include": "text.tex#braces"
4211
+ "include": "#braces"
4171
4212
  },
4172
4213
  {
4173
4214
  "include": "$self"
@@ -4197,7 +4238,7 @@
4197
4238
  "name": "meta.function.textbf.latex",
4198
4239
  "patterns": [
4199
4240
  {
4200
- "include": "text.tex#braces"
4241
+ "include": "#braces"
4201
4242
  },
4202
4243
  {
4203
4244
  "include": "$self"
@@ -4227,7 +4268,7 @@
4227
4268
  "name": "meta.function.texttt.latex",
4228
4269
  "patterns": [
4229
4270
  {
4230
- "include": "text.tex#braces"
4271
+ "include": "#braces"
4231
4272
  },
4232
4273
  {
4233
4274
  "include": "$self"
@@ -164,10 +164,6 @@
164
164
  "match": "(?<![]\\w])'(\\\\(x\\h\\h|u\\h\\h\\h\\h|.))'",
165
165
  "name": "string.quoted.single.lean4"
166
166
  },
167
- {
168
- "match": "`+[^(\\[]\\S+",
169
- "name": "entity.name.lean4"
170
- },
171
167
  {
172
168
  "match": "\\b([0-9]+|0([Xx]\\h+)|-?(0|[1-9][0-9]*)(\\.[0-9]+)?([Ee][-+]?[0-9]+)?)\\b",
173
169
  "name": "constant.numeric.lean4"
package/grammars/lua.json CHANGED
@@ -25,7 +25,7 @@
25
25
  "name": "punctuation.definition.parameters.begin.lua"
26
26
  }
27
27
  },
28
- "end": "(\\))|(?=[-\\]\"'.\\[{}])",
28
+ "end": "(\\))|(?=[-\\]\"'\\[{}])|(?<!\\.)\\.(?!\\.)",
29
29
  "endCaptures": {
30
30
  "1": {
31
31
  "name": "punctuation.definition.parameters.finish.lua"
@@ -36,6 +36,17 @@
36
36
  {
37
37
  "include": "#comment"
38
38
  },
39
+ {
40
+ "captures": {
41
+ "1": {
42
+ "name": "constant.language.lua"
43
+ },
44
+ "2": {
45
+ "name": "variable.parameter.function.lua"
46
+ }
47
+ },
48
+ "match": "(\\.{3})\\s*([A-Z_a-z][0-9A-Z_a-z]*)"
49
+ },
39
50
  {
40
51
  "match": "[A-Z_a-z][0-9A-Z_a-z]*",
41
52
  "name": "variable.parameter.function.lua"
@@ -152,6 +163,14 @@
152
163
  "match": "\\b(local)\\b",
153
164
  "name": "keyword.local.lua"
154
165
  },
166
+ {
167
+ "captures": {
168
+ "1": {
169
+ "name": "keyword.global.lua"
170
+ }
171
+ },
172
+ "match": "^\\s*(global)\\b(?!\\s*=)"
173
+ },
155
174
  {
156
175
  "match": "\\b(function)\\b(?![,:])",
157
176
  "name": "keyword.control.lua"
@@ -173,13 +192,17 @@
173
192
  "name": "entity.name.tag.lua"
174
193
  },
175
194
  {
176
- "match": "(?<![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset))\\b(?!\\s*=(?!=))",
195
+ "match": "(?<![^.]\\.|:)\\b(coroutine\\.(create|isyieldable|close|resume|running|status|wrap|yield)|string\\.(byte|char|dump|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|sub|unpack|upper)|table\\.(concat|create|insert|maxn|move|pack|remove|sort|unpack)|math\\.(abs|acos|asin|atan2?|ceil|cosh?|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|pow|rad|random|randomseed|sinh?|sqrt|tanh?|tointeger|type)|io\\.(close|flush|input|lines|open|output|popen|read|tmpfile|type|write)|os\\.(clock|date|difftime|execute|exit|getenv|remove|rename|setlocale|time|tmpname)|package\\.(loadlib|seeall|searchpath)|debug\\.(debug|[gs]etfenv|[gs]ethook|getinfo|[gs]etlocal|[gs]etmetatable|getregistry|[gs]etupvalue|[gs]etuservalue|set[Cc]stacklimit|traceback|upvalueid|upvaluejoin)|bit32\\.(arshift|band|bnot|bor|btest|bxor|extract|replace|lrotate|lshift|rrotate|rshift)|utf8\\.(char|codes|codepoint|len|offset))\\b(?!\\s*=(?!=))",
177
196
  "name": "support.function.library.lua"
178
197
  },
179
198
  {
180
- "match": "\\b(and|or|not|\\|\\||&&|!)\\b",
199
+ "match": "\\b(\\|\\||&&|!)\\b",
181
200
  "name": "keyword.operator.lua"
182
201
  },
202
+ {
203
+ "match": "\\b(and|or|not)\\b",
204
+ "name": "keyword.operator.logical.lua"
205
+ },
183
206
  {
184
207
  "match": "\\b([A-Z_a-z][0-9A-Z_a-z]*)\\b(?=\\s*(?:[\"'({]|\\[\\[))",
185
208
  "name": "support.function.any-method.lua"
@@ -766,11 +789,11 @@
766
789
  "end": "(?=[#\\s])",
767
790
  "patterns": [
768
791
  {
769
- "match": "[(),:?][\\t ]*",
792
+ "match": "[](),:<>?\\[][\\t ]*",
770
793
  "name": "keyword.operator.lua"
771
794
  },
772
795
  {
773
- "match": "([A-Z_a-z][-\\]*,.0-9<>A-\\[_a-z]*)(?<!,)[\\t ]*(?=\\??:)",
796
+ "match": "([A-Z_a-z][-*.0-9A-Z_a-z]*)(?<!,)[\\t ]*(?=\\??:)",
774
797
  "name": "entity.name.variable.lua"
775
798
  },
776
799
  {
@@ -484,11 +484,11 @@
484
484
  "name": "constant.language.luau"
485
485
  },
486
486
  {
487
- "match": "(?<![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill))\\b",
487
+ "match": "(?<![^.]\\.|:)\\b(bit32\\.(?:arshift|band|bnot|bor|btest|bxor|extract|lrotate|lshift|replace|rrotate|rshift|countlz|countrz|byteswap)|coroutine\\.(?:create|isyieldable|resume|running|status|wrap|yield|close)|debug\\.(?:info|loadmodule|profilebegin|profileend|traceback)|math\\.(?:abs|acos|asin|atan2??|ceil|clamp|cosh??|deg|exp|floor|fmod|frexp|ldexp|log|log10|max|min|modf|noise|pow|rad|random|randomseed|round|sign|sinh??|sqrt|tanh??)|os\\.(?:clock|date|difftime|time)|string\\.(?:byte|char|find|format|gmatch|gsub|len|lower|match|pack|packsize|rep|reverse|split|sub|unpack|upper)|table\\.(?:concat|create|find|foreachi??|getn|insert|maxn|move|pack|remove|sort|unpack|clear|freeze|isfrozen|clone)|task\\.(?:spawn|synchronize|desynchronize|wait|defer|delay)|utf8\\.(?:char|codepoint|codes|graphemes|len|nfcnormalize|nfdnormalize|offset)|buffer\\.(?:create|fromstring|tostring|len|readi8|readu8|readi16|readu16|readi32|readu32|readf32|readf64|writei8|writeu8|writei16|writeu16|writei32|writeu32|writef32|writef64|readstring|writestring|copy|fill)|vector\\.(?:abs|angle|ceil|clamp|create|cross|dot|floor|lerp|magnitude|max|min|normalize|sign))\\b",
488
488
  "name": "support.function.luau"
489
489
  },
490
490
  {
491
- "match": "(?<![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?)\\b",
491
+ "match": "(?<![^.]\\.|:)\\b(bit32|buffer|coroutine|debug|math(\\.(huge|pi))?|os|string|table|task|utf8(\\.charpattern)?|vector(\\.(one|zero))?)\\b",
492
492
  "name": "support.constant.luau"
493
493
  },
494
494
  {
@@ -8,11 +8,11 @@
8
8
  "name": "markdown-nix",
9
9
  "patterns": [
10
10
  {
11
- "include": "#nixCodeBlock"
11
+ "include": "#nix-code-block"
12
12
  }
13
13
  ],
14
14
  "repository": {
15
- "nixCodeBlock": {
15
+ "nix-code-block": {
16
16
  "begin": "(^|\\G)(\\s*)(`{3,}|~{3,})\\s*(?i:(nix)(\\s+[^`~]*)?$)",
17
17
  "beginCaptures": {
18
18
  "3": {
@@ -36,7 +36,7 @@
36
36
  "name": "markup.fenced_code.block.markdown",
37
37
  "patterns": [
38
38
  {
39
- "include": "source.vue"
39
+ "include": "text.html.vue"
40
40
  }
41
41
  ]
42
42
  }
@@ -942,7 +942,7 @@
942
942
  "name": "invalid.illegal.character-not-allowed-here.marko"
943
943
  },
944
944
  "invalid-close-tag": {
945
- "begin": "\\s*</.*?",
945
+ "begin": "\\s*</[^>]*",
946
946
  "end": ">",
947
947
  "name": "invalid.illegal.character-not-allowed-here.marko"
948
948
  },
@@ -1336,7 +1336,7 @@
1336
1336
  "name": "punctuation.definition.tag.begin.marko"
1337
1337
  }
1338
1338
  },
1339
- "end": "/>|(?<=</\\2??>)",
1339
+ "end": "/>|(?<=</>)|(?<=</\\2>)",
1340
1340
  "endCaptures": {
1341
1341
  "0": {
1342
1342
  "name": "punctuation.definition.tag.end.marko"
@@ -1385,7 +1385,7 @@
1385
1385
  "name": "punctuation.definition.tag.begin.marko"
1386
1386
  }
1387
1387
  },
1388
- "end": "/>|(?<=</\\2??>)",
1388
+ "end": "/>|(?<=</>)|(?<=</\\2>)",
1389
1389
  "endCaptures": {
1390
1390
  "0": {
1391
1391
  "name": "punctuation.definition.tag.end.marko"
@@ -1434,7 +1434,7 @@
1434
1434
  "name": "punctuation.definition.tag.begin.marko"
1435
1435
  }
1436
1436
  },
1437
- "end": "/>|(?<=</\\2??>)",
1437
+ "end": "/>|(?<=</>)|(?<=</\\2>)",
1438
1438
  "endCaptures": {
1439
1439
  "0": {
1440
1440
  "name": "punctuation.definition.tag.end.marko"
@@ -1483,7 +1483,7 @@
1483
1483
  "name": "punctuation.definition.tag.begin.marko"
1484
1484
  }
1485
1485
  },
1486
- "end": "/>|(?<=</\\2??>)",
1486
+ "end": "/>|(?<=</>)|(?<=</\\2>)",
1487
1487
  "endCaptures": {
1488
1488
  "0": {
1489
1489
  "name": "punctuation.definition.tag.end.marko"
@@ -1532,7 +1532,7 @@
1532
1532
  "name": "punctuation.definition.tag.begin.marko"
1533
1533
  }
1534
1534
  },
1535
- "end": "/>|(?<=</\\2??>)",
1535
+ "end": "/>|(?<=</>)|(?<=</\\2>)",
1536
1536
  "endCaptures": {
1537
1537
  "0": {
1538
1538
  "name": "punctuation.definition.tag.end.marko"
@@ -1581,7 +1581,7 @@
1581
1581
  "name": "punctuation.definition.tag.begin.marko"
1582
1582
  }
1583
1583
  },
1584
- "end": "/>|(?<=</\\2??>)",
1584
+ "end": "/>|(?<=</>)|(?<=</\\2>)",
1585
1585
  "endCaptures": {
1586
1586
  "0": {
1587
1587
  "name": "punctuation.definition.tag.end.marko"
@@ -1598,7 +1598,7 @@
1598
1598
  "name": "punctuation.definition.tag.end.marko"
1599
1599
  }
1600
1600
  },
1601
- "end": "\\s*(</)([-#$.0-:@-Z_a-z]+)?(.*?)(>)",
1601
+ "end": "\\s*(</)([-#$.0-:@-Z_a-z]+)?([^>]*)(>)",
1602
1602
  "endCaptures": {
1603
1603
  "1": {
1604
1604
  "name": "punctuation.definition.tag.begin.marko"
@@ -458,7 +458,7 @@
458
458
  "match": "(?i)^\\s*([-\\w]+)\\s*(\\[)?\\s*([-\\w]+|\"[-\\w\\s]+\")?\\s*(])?$"
459
459
  },
460
460
  {
461
- "begin": "(?i)\\s+([-\\w]+)\\s*(\\[)?\\s*([-\\w]+|\"[-\\w\\s]+\")?\\s*(])?\\s*(\\{)",
461
+ "begin": "(?i)\\s*([-\\w]+)\\s*(\\[)?\\s*([-\\w]+|\"[-\\w\\s]+\")?\\s*(])?\\s*(\\{)",
462
462
  "beginCaptures": {
463
463
  "1": {
464
464
  "name": "variable"
@@ -498,7 +498,7 @@
498
498
  "name": "string"
499
499
  }
500
500
  },
501
- "match": "(?i)\\s*([-\\w]+)\\s+([-\\w]+)\\s+([FPU]K(?:,\\s*[FPU]K){0,2})?\\s*(\"[!-(*-/:-?\\\\^\\w\\s]*\")?\\s*"
501
+ "match": "(?i)\\s*([-\\w]+)\\s+([-\\w]+)\\s+([FPU]K(?:,\\s*[FPU]K){0,2})?\\s*(\"[^\\n\\r\"]*\")?\\s*"
502
502
  },
503
503
  {
504
504
  "match": "%%.*",
@@ -1081,6 +1081,70 @@
1081
1081
  }
1082
1082
  ]
1083
1083
  },
1084
+ {
1085
+ "begin": "^\\s*(mindmap)",
1086
+ "beginCaptures": {
1087
+ "1": {
1088
+ "name": "keyword.control.mermaid"
1089
+ }
1090
+ },
1091
+ "end": "(^|\\G)(?=\\s*[:`~]{3,}\\s*$)",
1092
+ "patterns": [
1093
+ {
1094
+ "match": "%%.*",
1095
+ "name": "comment"
1096
+ },
1097
+ {
1098
+ "captures": {
1099
+ "1": {
1100
+ "name": "keyword.control.mermaid"
1101
+ },
1102
+ "2": {
1103
+ "name": "string"
1104
+ }
1105
+ },
1106
+ "match": "(?i)(\\s*:::)(\\s*[!-$\\&'*-/;-?\\\\^\\w\\s]*)"
1107
+ },
1108
+ {
1109
+ "captures": {
1110
+ "1": {
1111
+ "name": "keyword.control.mermaid"
1112
+ },
1113
+ "2": {
1114
+ "name": "punctuation.parenthesis.open.mermaid"
1115
+ },
1116
+ "3": {
1117
+ "name": "string"
1118
+ },
1119
+ "4": {
1120
+ "name": "punctuation.parenthesis.close.mermaid"
1121
+ }
1122
+ },
1123
+ "match": "(?i)(\\s*::icon)(\\s*\\()(\\s*[!-$\\&'*-/;-?\\\\^\\w\\s]*)(\\s*\\))"
1124
+ },
1125
+ {
1126
+ "captures": {
1127
+ "1": {
1128
+ "name": "variable"
1129
+ },
1130
+ "2": {
1131
+ "name": "keyword.control.mermaid"
1132
+ },
1133
+ "3": {
1134
+ "name": "string"
1135
+ },
1136
+ "4": {
1137
+ "name": "keyword.control.mermaid"
1138
+ }
1139
+ },
1140
+ "match": "(?i)(\\s*[!-$\\&'*-/:-?\\\\^\\w\\s]*)(\\s*\\({1,2}|\\){1,2}|\\{\\{|\\[)(\\s*[!-$\\&'*-/:-?\\\\^\\w\\s]*)(\\s*\\){1,2}|\\({1,2}|}}|])"
1141
+ },
1142
+ {
1143
+ "match": "^(\\s*[!-$\\&'*-/:-?\\\\^\\w\\s]*)",
1144
+ "name": "string"
1145
+ }
1146
+ ]
1147
+ },
1084
1148
  {
1085
1149
  "begin": "^\\s*(pie)",
1086
1150
  "beginCaptures": {
@@ -2001,7 +2065,7 @@
2001
2065
  ]
2002
2066
  },
2003
2067
  "mermaid-code-block": {
2004
- "begin": "(?i)(?<=[`~])mermaid(\\s+[^`~]*)?$",
2068
+ "begin": "(?i)(?<=[`~])\\s*mermaid(\\s+[^`~]*)?$",
2005
2069
  "contentName": "meta.embedded.block.mermaid",
2006
2070
  "end": "(^|\\G)(?=\\s*[`~]{3,}\\s*$)",
2007
2071
  "patterns": [
@@ -2011,7 +2075,7 @@
2011
2075
  ]
2012
2076
  },
2013
2077
  "mermaid-code-block-with-attributes": {
2014
- "begin": "(?i)(?<=[`~])\\{\\s*\\.?mermaid(\\s+[^`~]*)?$",
2078
+ "begin": "(?i)(?<=[`~])\\s*\\{\\s*\\.?mermaid(\\s+[^`~]*)?$",
2015
2079
  "contentName": "meta.embedded.block.mermaid",
2016
2080
  "end": "(^|\\G)(?=\\s*[`~]{3,}\\s*$)",
2017
2081
  "patterns": [
@@ -3592,7 +3592,7 @@
3592
3592
  "name": "variable.other.python"
3593
3593
  }
3594
3594
  },
3595
- "match": "\\b(var|let|alias) \\s*([_[:alpha:]]\\w*)\\b"
3595
+ "match": "\\b(var|let|alias|comptime) \\s*([_[:alpha:]]\\w*)\\b"
3596
3596
  }
3597
3597
  ]
3598
3598
  },