Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/cpp/syntaxes/cuda-cpp.tmLanguage.json
3314 views
1
{
2
"information_for_contributors": [
3
"This file has been converted from https://github.com/NVIDIA/cuda-cpp-grammar/blob/master/syntaxes/cuda-cpp.tmLanguage.json",
4
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
5
"Once accepted there, we are happy to receive an update request."
6
],
7
"version": "https://github.com/NVIDIA/cuda-cpp-grammar/commit/81e88eaec5170aa8585736c63627c73e3589998c",
8
"name": "CUDA C++",
9
"scopeName": "source.cuda-cpp",
10
"patterns": [
11
{
12
"include": "#ever_present_context"
13
},
14
{
15
"include": "#constructor_root"
16
},
17
{
18
"include": "#destructor_root"
19
},
20
{
21
"include": "#function_definition"
22
},
23
{
24
"include": "#operator_overload"
25
},
26
{
27
"include": "#using_namespace"
28
},
29
{
30
"include": "#type_alias"
31
},
32
{
33
"include": "#using_name"
34
},
35
{
36
"include": "#namespace_alias"
37
},
38
{
39
"include": "#namespace_block"
40
},
41
{
42
"include": "#extern_block"
43
},
44
{
45
"include": "#typedef_class"
46
},
47
{
48
"include": "#typedef_struct"
49
},
50
{
51
"include": "#typedef_union"
52
},
53
{
54
"include": "#misc_keywords"
55
},
56
{
57
"include": "#standard_declares"
58
},
59
{
60
"include": "#class_block"
61
},
62
{
63
"include": "#struct_block"
64
},
65
{
66
"include": "#union_block"
67
},
68
{
69
"include": "#enum_block"
70
},
71
{
72
"include": "#template_isolated_definition"
73
},
74
{
75
"include": "#template_definition"
76
},
77
{
78
"include": "#access_control_keywords"
79
},
80
{
81
"include": "#block"
82
},
83
{
84
"include": "#static_assert"
85
},
86
{
87
"include": "#assembly"
88
},
89
{
90
"include": "#function_pointer"
91
},
92
{
93
"include": "#evaluation_context"
94
}
95
],
96
"repository": {
97
"access_control_keywords": {
98
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?:(?:protected)|(?:private)|(?:public)))(?:(?:\\s)+)?(:))",
99
"captures": {
100
"1": {
101
"patterns": [
102
{
103
"include": "#inline_comment"
104
}
105
]
106
},
107
"2": {
108
"patterns": [
109
{
110
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
111
"captures": {
112
"1": {
113
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
114
},
115
"2": {
116
"name": "comment.block.cuda-cpp"
117
},
118
"3": {
119
"patterns": [
120
{
121
"match": "\\*\\/",
122
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
123
},
124
{
125
"match": "\\*",
126
"name": "comment.block.cuda-cpp"
127
}
128
]
129
}
130
}
131
}
132
]
133
},
134
"3": {
135
"name": "storage.type.modifier.access.control.$4.cuda-cpp"
136
},
137
"4": {},
138
"5": {
139
"name": "punctuation.separator.colon.access.control.cuda-cpp"
140
}
141
}
142
},
143
"alignas_attribute": {
144
"begin": "alignas\\(",
145
"end": "\\)",
146
"beginCaptures": {
147
"0": {
148
"name": "punctuation.section.attribute.begin.cuda-cpp"
149
}
150
},
151
"endCaptures": {
152
"0": {
153
"name": "punctuation.section.attribute.end.cuda-cpp"
154
}
155
},
156
"name": "support.other.attribute.cuda-cpp",
157
"patterns": [
158
{
159
"include": "#attributes_context"
160
},
161
{
162
"begin": "\\(",
163
"end": "\\)",
164
"beginCaptures": {},
165
"endCaptures": {},
166
"patterns": [
167
{
168
"include": "#attributes_context"
169
},
170
{
171
"include": "#string_context"
172
}
173
]
174
},
175
{
176
"match": "(using)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
177
"captures": {
178
"1": {
179
"name": "keyword.other.using.directive.cuda-cpp"
180
},
181
"2": {
182
"name": "entity.name.namespace.cuda-cpp"
183
}
184
}
185
},
186
{
187
"match": ",",
188
"name": "punctuation.separator.attribute.cuda-cpp"
189
},
190
{
191
"match": ":",
192
"name": "punctuation.accessor.attribute.cuda-cpp"
193
},
194
{
195
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
196
"name": "entity.name.namespace.cuda-cpp"
197
},
198
{
199
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
200
"name": "entity.other.attribute.$0.cuda-cpp"
201
},
202
{
203
"include": "#number_literal"
204
}
205
]
206
},
207
"alignas_operator": {
208
"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
209
"end": "\\)",
210
"beginCaptures": {
211
"1": {
212
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignas.cuda-cpp"
213
},
214
"2": {
215
"patterns": [
216
{
217
"include": "#inline_comment"
218
}
219
]
220
},
221
"3": {
222
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
223
},
224
"4": {
225
"name": "comment.block.cuda-cpp"
226
},
227
"5": {
228
"patterns": [
229
{
230
"match": "\\*\\/",
231
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
232
},
233
{
234
"match": "\\*",
235
"name": "comment.block.cuda-cpp"
236
}
237
]
238
},
239
"6": {
240
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cuda-cpp"
241
}
242
},
243
"endCaptures": {
244
"0": {
245
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cuda-cpp"
246
}
247
},
248
"contentName": "meta.arguments.operator.alignas",
249
"patterns": [
250
{
251
"include": "#evaluation_context"
252
}
253
]
254
},
255
"alignof_operator": {
256
"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
257
"end": "\\)",
258
"beginCaptures": {
259
"1": {
260
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignof.cuda-cpp"
261
},
262
"2": {
263
"patterns": [
264
{
265
"include": "#inline_comment"
266
}
267
]
268
},
269
"3": {
270
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
271
},
272
"4": {
273
"name": "comment.block.cuda-cpp"
274
},
275
"5": {
276
"patterns": [
277
{
278
"match": "\\*\\/",
279
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
280
},
281
{
282
"match": "\\*",
283
"name": "comment.block.cuda-cpp"
284
}
285
]
286
},
287
"6": {
288
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cuda-cpp"
289
}
290
},
291
"endCaptures": {
292
"0": {
293
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cuda-cpp"
294
}
295
},
296
"contentName": "meta.arguments.operator.alignof",
297
"patterns": [
298
{
299
"include": "#evaluation_context"
300
}
301
]
302
},
303
"assembly": {
304
"begin": "(\\b(?:__asm__|asm)\\b)(?:(?:\\s)+)?((?:volatile)?)",
305
"end": "(?!\\G)",
306
"beginCaptures": {
307
"1": {
308
"name": "storage.type.asm.cuda-cpp"
309
},
310
"2": {
311
"name": "storage.modifier.cuda-cpp"
312
}
313
},
314
"endCaptures": {},
315
"name": "meta.asm.cuda-cpp",
316
"patterns": [
317
{
318
"match": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\n)|$)",
319
"captures": {
320
"1": {
321
"patterns": [
322
{
323
"include": "#inline_comment"
324
}
325
]
326
},
327
"2": {
328
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
329
},
330
"3": {
331
"name": "comment.block.cuda-cpp"
332
},
333
"4": {
334
"patterns": [
335
{
336
"match": "\\*\\/",
337
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
338
},
339
{
340
"match": "\\*",
341
"name": "comment.block.cuda-cpp"
342
}
343
]
344
}
345
}
346
},
347
{
348
"include": "#comments"
349
},
350
{
351
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\(",
352
"end": "\\)",
353
"beginCaptures": {
354
"0": {
355
"name": "punctuation.section.parens.begin.bracket.round.assembly.cuda-cpp"
356
},
357
"1": {
358
"patterns": [
359
{
360
"include": "#inline_comment"
361
}
362
]
363
},
364
"2": {
365
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
366
},
367
"3": {
368
"name": "comment.block.cuda-cpp"
369
},
370
"4": {
371
"patterns": [
372
{
373
"match": "\\*\\/",
374
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
375
},
376
{
377
"match": "\\*",
378
"name": "comment.block.cuda-cpp"
379
}
380
]
381
}
382
},
383
"endCaptures": {
384
"0": {
385
"name": "punctuation.section.parens.end.bracket.round.assembly.cuda-cpp"
386
}
387
},
388
"patterns": [
389
{
390
"begin": "(R?)(\")",
391
"end": "\"",
392
"beginCaptures": {
393
"1": {
394
"name": "meta.encoding.cuda-cpp"
395
},
396
"2": {
397
"name": "punctuation.definition.string.begin.assembly.cuda-cpp"
398
}
399
},
400
"endCaptures": {
401
"0": {
402
"name": "punctuation.definition.string.end.assembly.cuda-cpp"
403
}
404
},
405
"name": "string.quoted.double.cuda-cpp",
406
"contentName": "meta.embedded.assembly",
407
"patterns": [
408
{
409
"include": "source.asm"
410
},
411
{
412
"include": "source.x86"
413
},
414
{
415
"include": "source.x86_64"
416
},
417
{
418
"include": "source.arm"
419
},
420
{
421
"include": "#backslash_escapes"
422
},
423
{
424
"include": "#string_escaped_char"
425
}
426
]
427
},
428
{
429
"begin": "\\(",
430
"end": "\\)",
431
"beginCaptures": {
432
"0": {
433
"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cuda-cpp"
434
}
435
},
436
"endCaptures": {
437
"0": {
438
"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cuda-cpp"
439
}
440
},
441
"patterns": [
442
{
443
"include": "#evaluation_context"
444
}
445
]
446
},
447
{
448
"match": "\\[((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]",
449
"captures": {
450
"1": {
451
"patterns": [
452
{
453
"include": "#inline_comment"
454
}
455
]
456
},
457
"2": {
458
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
459
},
460
"3": {
461
"name": "comment.block.cuda-cpp"
462
},
463
"4": {
464
"patterns": [
465
{
466
"match": "\\*\\/",
467
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
468
},
469
{
470
"match": "\\*",
471
"name": "comment.block.cuda-cpp"
472
}
473
]
474
},
475
"5": {
476
"name": "variable.other.asm.label.cuda-cpp"
477
},
478
"6": {
479
"patterns": [
480
{
481
"include": "#inline_comment"
482
}
483
]
484
},
485
"7": {
486
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
487
},
488
"8": {
489
"name": "comment.block.cuda-cpp"
490
},
491
"9": {
492
"patterns": [
493
{
494
"match": "\\*\\/",
495
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
496
},
497
{
498
"match": "\\*",
499
"name": "comment.block.cuda-cpp"
500
}
501
]
502
}
503
}
504
},
505
{
506
"match": ":",
507
"name": "punctuation.separator.delimiter.colon.assembly.cuda-cpp"
508
},
509
{
510
"include": "#comments"
511
}
512
]
513
}
514
]
515
},
516
"assignment_operator": {
517
"match": "\\=",
518
"name": "keyword.operator.assignment.cuda-cpp"
519
},
520
"attributes_context": {
521
"patterns": [
522
{
523
"include": "#cpp_attributes"
524
},
525
{
526
"include": "#gcc_attributes"
527
},
528
{
529
"include": "#ms_attributes"
530
},
531
{
532
"include": "#alignas_attribute"
533
}
534
]
535
},
536
"backslash_escapes": {
537
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
538
"name": "constant.character.escape"
539
},
540
"block": {
541
"begin": "{",
542
"end": "}|(?=\\s*#\\s*(?:elif|else|endif)\\b)",
543
"beginCaptures": {
544
"0": {
545
"name": "punctuation.section.block.begin.bracket.curly.cuda-cpp"
546
}
547
},
548
"endCaptures": {
549
"0": {
550
"name": "punctuation.section.block.end.bracket.curly.cuda-cpp"
551
}
552
},
553
"name": "meta.block.cuda-cpp",
554
"patterns": [
555
{
556
"include": "#function_body_context"
557
}
558
]
559
},
560
"block_comment": {
561
"begin": "\\s*+(\\/\\*)",
562
"end": "\\*\\/",
563
"beginCaptures": {
564
"1": {
565
"name": "punctuation.definition.comment.begin.cuda-cpp"
566
}
567
},
568
"endCaptures": {
569
"0": {
570
"name": "punctuation.definition.comment.end.cuda-cpp"
571
}
572
},
573
"name": "comment.block.cuda-cpp"
574
},
575
"builtin_storage_type_initilizer": {
576
"begin": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)(?:\\s)*+(?<!\\w)(\\()",
577
"end": "\\)",
578
"beginCaptures": {
579
"1": {
580
"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"
581
},
582
"2": {
583
"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"
584
},
585
"3": {
586
"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"
587
},
588
"4": {
589
"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"
590
},
591
"5": {
592
"name": "punctuation.section.arguments.begin.bracket.round.initializer.cuda-cpp"
593
}
594
},
595
"endCaptures": {
596
"0": {
597
"name": "punctuation.section.arguments.end.bracket.round.initializer.cuda-cpp"
598
}
599
},
600
"patterns": [
601
{
602
"include": "#evaluation_context"
603
}
604
]
605
},
606
"case_statement": {
607
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)case(?!\\w))",
608
"end": ":",
609
"beginCaptures": {
610
"1": {
611
"patterns": [
612
{
613
"include": "#inline_comment"
614
}
615
]
616
},
617
"2": {
618
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
619
},
620
"3": {
621
"name": "comment.block.cuda-cpp"
622
},
623
"4": {
624
"patterns": [
625
{
626
"match": "\\*\\/",
627
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
628
},
629
{
630
"match": "\\*",
631
"name": "comment.block.cuda-cpp"
632
}
633
]
634
},
635
"5": {
636
"name": "keyword.control.case.cuda-cpp"
637
}
638
},
639
"endCaptures": {
640
"0": {
641
"name": "punctuation.separator.colon.case.cuda-cpp"
642
}
643
},
644
"name": "meta.conditional.case.cuda-cpp",
645
"patterns": [
646
{
647
"include": "#evaluation_context"
648
},
649
{
650
"include": "#c_conditional_context"
651
}
652
]
653
},
654
"class_block": {
655
"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
656
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
657
"beginCaptures": {
658
"0": {
659
"name": "meta.head.class.cuda-cpp"
660
},
661
"1": {
662
"name": "storage.type.$1.cuda-cpp"
663
},
664
"2": {
665
"patterns": [
666
{
667
"include": "#inline_comment"
668
}
669
]
670
},
671
"3": {
672
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
673
},
674
"4": {
675
"name": "comment.block.cuda-cpp"
676
},
677
"5": {
678
"patterns": [
679
{
680
"match": "\\*\\/",
681
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
682
},
683
{
684
"match": "\\*",
685
"name": "comment.block.cuda-cpp"
686
}
687
]
688
},
689
"6": {
690
"patterns": [
691
{
692
"include": "#attributes_context"
693
},
694
{
695
"include": "#number_literal"
696
}
697
]
698
},
699
"7": {
700
"patterns": [
701
{
702
"include": "#inline_comment"
703
}
704
]
705
},
706
"8": {
707
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
708
},
709
"9": {
710
"name": "comment.block.cuda-cpp"
711
},
712
"10": {
713
"patterns": [
714
{
715
"match": "\\*\\/",
716
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
717
},
718
{
719
"match": "\\*",
720
"name": "comment.block.cuda-cpp"
721
}
722
]
723
},
724
"11": {
725
"patterns": [
726
{
727
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
728
"captures": {
729
"1": {
730
"name": "storage.type.modifier.final.cuda-cpp"
731
},
732
"2": {
733
"patterns": [
734
{
735
"include": "#inline_comment"
736
}
737
]
738
},
739
"3": {
740
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
741
},
742
"4": {
743
"name": "comment.block.cuda-cpp"
744
},
745
"5": {
746
"patterns": [
747
{
748
"match": "\\*\\/",
749
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
750
},
751
{
752
"match": "\\*",
753
"name": "comment.block.cuda-cpp"
754
}
755
]
756
}
757
}
758
},
759
{
760
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
761
"captures": {
762
"1": {
763
"name": "entity.name.type.class.cuda-cpp"
764
},
765
"2": {
766
"patterns": [
767
{
768
"include": "#inline_comment"
769
}
770
]
771
},
772
"3": {
773
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
774
},
775
"4": {
776
"name": "comment.block.cuda-cpp"
777
},
778
"5": {
779
"patterns": [
780
{
781
"match": "\\*\\/",
782
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
783
},
784
{
785
"match": "\\*",
786
"name": "comment.block.cuda-cpp"
787
}
788
]
789
},
790
"6": {
791
"name": "storage.type.modifier.final.cuda-cpp"
792
},
793
"7": {
794
"patterns": [
795
{
796
"include": "#inline_comment"
797
}
798
]
799
},
800
"8": {
801
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
802
},
803
"9": {
804
"name": "comment.block.cuda-cpp"
805
},
806
"10": {
807
"patterns": [
808
{
809
"match": "\\*\\/",
810
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
811
},
812
{
813
"match": "\\*",
814
"name": "comment.block.cuda-cpp"
815
}
816
]
817
}
818
}
819
},
820
{
821
"match": "DLLEXPORT",
822
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"
823
},
824
{
825
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
826
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"
827
}
828
]
829
},
830
"12": {
831
"patterns": [
832
{
833
"include": "#inline_comment"
834
}
835
]
836
},
837
"13": {
838
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
839
},
840
"14": {
841
"name": "comment.block.cuda-cpp"
842
},
843
"15": {
844
"patterns": [
845
{
846
"match": "\\*\\/",
847
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
848
},
849
{
850
"match": "\\*",
851
"name": "comment.block.cuda-cpp"
852
}
853
]
854
},
855
"16": {
856
"patterns": [
857
{
858
"include": "#inline_comment"
859
}
860
]
861
},
862
"17": {
863
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
864
},
865
"18": {
866
"name": "comment.block.cuda-cpp"
867
},
868
"19": {
869
"patterns": [
870
{
871
"match": "\\*\\/",
872
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
873
},
874
{
875
"match": "\\*",
876
"name": "comment.block.cuda-cpp"
877
}
878
]
879
},
880
"20": {
881
"name": "punctuation.separator.colon.inheritance.cuda-cpp"
882
}
883
},
884
"endCaptures": {
885
"1": {
886
"name": "punctuation.terminator.statement.cuda-cpp"
887
},
888
"2": {
889
"name": "punctuation.terminator.statement.cuda-cpp"
890
}
891
},
892
"name": "meta.block.class.cuda-cpp",
893
"patterns": [
894
{
895
"begin": "\\G ?",
896
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
897
"beginCaptures": {},
898
"endCaptures": {
899
"0": {
900
"name": "punctuation.section.block.begin.bracket.curly.class.cuda-cpp"
901
}
902
},
903
"name": "meta.head.class.cuda-cpp",
904
"patterns": [
905
{
906
"include": "#ever_present_context"
907
},
908
{
909
"include": "#inheritance_context"
910
},
911
{
912
"include": "#template_call_range"
913
}
914
]
915
},
916
{
917
"begin": "(?<=\\{|<%|\\?\\?<)",
918
"end": "\\}|%>|\\?\\?>",
919
"beginCaptures": {},
920
"endCaptures": {
921
"0": {
922
"name": "punctuation.section.block.end.bracket.curly.class.cuda-cpp"
923
}
924
},
925
"name": "meta.body.class.cuda-cpp",
926
"patterns": [
927
{
928
"include": "#function_pointer"
929
},
930
{
931
"include": "#static_assert"
932
},
933
{
934
"include": "#constructor_inline"
935
},
936
{
937
"include": "#destructor_inline"
938
},
939
{
940
"include": "$self"
941
}
942
]
943
},
944
{
945
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
946
"end": "[\\s]*(?=;)",
947
"beginCaptures": {},
948
"endCaptures": {},
949
"name": "meta.tail.class.cuda-cpp",
950
"patterns": [
951
{
952
"include": "$self"
953
}
954
]
955
}
956
]
957
},
958
"class_declare": {
959
"match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
960
"captures": {
961
"1": {
962
"name": "storage.type.class.declare.cuda-cpp"
963
},
964
"2": {
965
"patterns": [
966
{
967
"include": "#inline_comment"
968
}
969
]
970
},
971
"3": {
972
"patterns": [
973
{
974
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
975
"captures": {
976
"1": {
977
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
978
},
979
"2": {
980
"name": "comment.block.cuda-cpp"
981
},
982
"3": {
983
"patterns": [
984
{
985
"match": "\\*\\/",
986
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
987
},
988
{
989
"match": "\\*",
990
"name": "comment.block.cuda-cpp"
991
}
992
]
993
}
994
}
995
}
996
]
997
},
998
"4": {
999
"name": "entity.name.type.class.cuda-cpp"
1000
},
1001
"5": {
1002
"patterns": [
1003
{
1004
"match": "\\*",
1005
"name": "storage.modifier.pointer.cuda-cpp"
1006
},
1007
{
1008
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
1009
"captures": {
1010
"1": {
1011
"patterns": [
1012
{
1013
"include": "#inline_comment"
1014
}
1015
]
1016
},
1017
"2": {
1018
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1019
},
1020
"3": {
1021
"name": "comment.block.cuda-cpp"
1022
},
1023
"4": {
1024
"patterns": [
1025
{
1026
"match": "\\*\\/",
1027
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1028
},
1029
{
1030
"match": "\\*",
1031
"name": "comment.block.cuda-cpp"
1032
}
1033
]
1034
}
1035
},
1036
"name": "invalid.illegal.reference-type.cuda-cpp"
1037
},
1038
{
1039
"match": "\\&",
1040
"name": "storage.modifier.reference.cuda-cpp"
1041
}
1042
]
1043
},
1044
"6": {
1045
"patterns": [
1046
{
1047
"include": "#inline_comment"
1048
}
1049
]
1050
},
1051
"7": {
1052
"patterns": [
1053
{
1054
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1055
"captures": {
1056
"1": {
1057
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1058
},
1059
"2": {
1060
"name": "comment.block.cuda-cpp"
1061
},
1062
"3": {
1063
"patterns": [
1064
{
1065
"match": "\\*\\/",
1066
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1067
},
1068
{
1069
"match": "\\*",
1070
"name": "comment.block.cuda-cpp"
1071
}
1072
]
1073
}
1074
}
1075
}
1076
]
1077
},
1078
"8": {
1079
"patterns": [
1080
{
1081
"include": "#inline_comment"
1082
}
1083
]
1084
},
1085
"9": {
1086
"patterns": [
1087
{
1088
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1089
"captures": {
1090
"1": {
1091
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1092
},
1093
"2": {
1094
"name": "comment.block.cuda-cpp"
1095
},
1096
"3": {
1097
"patterns": [
1098
{
1099
"match": "\\*\\/",
1100
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1101
},
1102
{
1103
"match": "\\*",
1104
"name": "comment.block.cuda-cpp"
1105
}
1106
]
1107
}
1108
}
1109
}
1110
]
1111
},
1112
"10": {
1113
"patterns": [
1114
{
1115
"include": "#inline_comment"
1116
}
1117
]
1118
},
1119
"11": {
1120
"patterns": [
1121
{
1122
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1123
"captures": {
1124
"1": {
1125
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1126
},
1127
"2": {
1128
"name": "comment.block.cuda-cpp"
1129
},
1130
"3": {
1131
"patterns": [
1132
{
1133
"match": "\\*\\/",
1134
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1135
},
1136
{
1137
"match": "\\*",
1138
"name": "comment.block.cuda-cpp"
1139
}
1140
]
1141
}
1142
}
1143
}
1144
]
1145
},
1146
"12": {
1147
"name": "variable.other.object.declare.cuda-cpp"
1148
},
1149
"13": {
1150
"patterns": [
1151
{
1152
"include": "#inline_comment"
1153
}
1154
]
1155
},
1156
"14": {
1157
"patterns": [
1158
{
1159
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
1160
"captures": {
1161
"1": {
1162
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1163
},
1164
"2": {
1165
"name": "comment.block.cuda-cpp"
1166
},
1167
"3": {
1168
"patterns": [
1169
{
1170
"match": "\\*\\/",
1171
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1172
},
1173
{
1174
"match": "\\*",
1175
"name": "comment.block.cuda-cpp"
1176
}
1177
]
1178
}
1179
}
1180
}
1181
]
1182
}
1183
}
1184
},
1185
"comma": {
1186
"match": ",",
1187
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
1188
},
1189
"comma_in_template_argument": {
1190
"match": ",",
1191
"name": "punctuation.separator.delimiter.comma.template.argument.cuda-cpp"
1192
},
1193
"comments": {
1194
"patterns": [
1195
{
1196
"begin": "^(?:(?:\\s)+)?+(\\/\\/[!\\/]+)",
1197
"end": "(?<=\\n)(?<!\\\\\\n)",
1198
"beginCaptures": {
1199
"1": {
1200
"name": "punctuation.definition.comment.documentation.cuda-cpp"
1201
}
1202
},
1203
"endCaptures": {},
1204
"name": "comment.line.double-slash.documentation.cuda-cpp",
1205
"patterns": [
1206
{
1207
"include": "#line_continuation_character"
1208
},
1209
{
1210
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1211
"name": "storage.type.class.doxygen.cuda-cpp"
1212
},
1213
{
1214
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1215
"captures": {
1216
"1": {
1217
"name": "storage.type.class.doxygen.cuda-cpp"
1218
},
1219
"2": {
1220
"name": "markup.italic.doxygen.cuda-cpp"
1221
}
1222
}
1223
},
1224
{
1225
"match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1226
"captures": {
1227
"1": {
1228
"name": "storage.type.class.doxygen.cuda-cpp"
1229
},
1230
"2": {
1231
"name": "markup.bold.doxygen.cuda-cpp"
1232
}
1233
}
1234
},
1235
{
1236
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1237
"captures": {
1238
"1": {
1239
"name": "storage.type.class.doxygen.cuda-cpp"
1240
},
1241
"2": {
1242
"name": "markup.inline.raw.string.cuda-cpp"
1243
}
1244
}
1245
},
1246
{
1247
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1248
"name": "storage.type.class.doxygen.cuda-cpp"
1249
},
1250
{
1251
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1252
"name": "storage.type.class.doxygen.cuda-cpp"
1253
},
1254
{
1255
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1256
"captures": {
1257
"1": {
1258
"name": "storage.type.class.doxygen.cuda-cpp"
1259
},
1260
"2": {
1261
"patterns": [
1262
{
1263
"match": "in|out",
1264
"name": "keyword.other.parameter.direction.$0.cuda-cpp"
1265
}
1266
]
1267
},
1268
"3": {
1269
"name": "variable.parameter.cuda-cpp"
1270
}
1271
}
1272
},
1273
{
1274
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1275
"name": "storage.type.class.doxygen.cuda-cpp"
1276
},
1277
{
1278
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1279
"name": "storage.type.class.doxygen.cuda-cpp"
1280
},
1281
{
1282
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1283
"name": "storage.type.class.gtkdoc.cuda-cpp"
1284
}
1285
]
1286
},
1287
{
1288
"match": "(\\/\\*[!*]+(?=\\s))(.+)([!*]*\\*\\/)",
1289
"captures": {
1290
"1": {
1291
"name": "punctuation.definition.comment.begin.documentation.cuda-cpp"
1292
},
1293
"2": {
1294
"patterns": [
1295
{
1296
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1297
"name": "storage.type.class.doxygen.cuda-cpp"
1298
},
1299
{
1300
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1301
"captures": {
1302
"1": {
1303
"name": "storage.type.class.doxygen.cuda-cpp"
1304
},
1305
"2": {
1306
"name": "markup.italic.doxygen.cuda-cpp"
1307
}
1308
}
1309
},
1310
{
1311
"match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1312
"captures": {
1313
"1": {
1314
"name": "storage.type.class.doxygen.cuda-cpp"
1315
},
1316
"2": {
1317
"name": "markup.bold.doxygen.cuda-cpp"
1318
}
1319
}
1320
},
1321
{
1322
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1323
"captures": {
1324
"1": {
1325
"name": "storage.type.class.doxygen.cuda-cpp"
1326
},
1327
"2": {
1328
"name": "markup.inline.raw.string.cuda-cpp"
1329
}
1330
}
1331
},
1332
{
1333
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1334
"name": "storage.type.class.doxygen.cuda-cpp"
1335
},
1336
{
1337
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1338
"name": "storage.type.class.doxygen.cuda-cpp"
1339
},
1340
{
1341
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1342
"captures": {
1343
"1": {
1344
"name": "storage.type.class.doxygen.cuda-cpp"
1345
},
1346
"2": {
1347
"patterns": [
1348
{
1349
"match": "in|out",
1350
"name": "keyword.other.parameter.direction.$0.cuda-cpp"
1351
}
1352
]
1353
},
1354
"3": {
1355
"name": "variable.parameter.cuda-cpp"
1356
}
1357
}
1358
},
1359
{
1360
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1361
"name": "storage.type.class.doxygen.cuda-cpp"
1362
},
1363
{
1364
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1365
"name": "storage.type.class.doxygen.cuda-cpp"
1366
},
1367
{
1368
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1369
"name": "storage.type.class.gtkdoc.cuda-cpp"
1370
}
1371
]
1372
},
1373
"3": {
1374
"name": "punctuation.definition.comment.end.documentation.cuda-cpp"
1375
}
1376
},
1377
"name": "comment.block.documentation.cuda-cpp"
1378
},
1379
{
1380
"begin": "(?:(?:\\s)+)?+\\/\\*[!*]+(?:(?:(?:\\n)|$)|(?=\\s))",
1381
"end": "[!*]*\\*\\/",
1382
"beginCaptures": {
1383
"0": {
1384
"name": "punctuation.definition.comment.begin.documentation.cuda-cpp"
1385
}
1386
},
1387
"endCaptures": {
1388
"0": {
1389
"name": "punctuation.definition.comment.end.documentation.cuda-cpp"
1390
}
1391
},
1392
"name": "comment.block.documentation.cuda-cpp",
1393
"patterns": [
1394
{
1395
"match": "(?<=[\\s*!\\/])[\\\\@](?:callergraph|callgraph|else|endif|f\\$|f\\[|f\\]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|\\$|\\#|<|>|%|\"|\\.|=|::|\\||\\-\\-|\\-\\-\\-)\\b(?:\\{[^}]*\\})?",
1396
"name": "storage.type.class.doxygen.cuda-cpp"
1397
},
1398
{
1399
"match": "((?<=[\\s*!\\/])[\\\\@](?:a|em|e))(?:\\s)+(\\S+)",
1400
"captures": {
1401
"1": {
1402
"name": "storage.type.class.doxygen.cuda-cpp"
1403
},
1404
"2": {
1405
"name": "markup.italic.doxygen.cuda-cpp"
1406
}
1407
}
1408
},
1409
{
1410
"match": "((?<=[\\s*!\\/])[\\\\@]b)(?:\\s)+(\\S+)",
1411
"captures": {
1412
"1": {
1413
"name": "storage.type.class.doxygen.cuda-cpp"
1414
},
1415
"2": {
1416
"name": "markup.bold.doxygen.cuda-cpp"
1417
}
1418
}
1419
},
1420
{
1421
"match": "((?<=[\\s*!\\/])[\\\\@](?:c|p))(?:\\s)+(\\S+)",
1422
"captures": {
1423
"1": {
1424
"name": "storage.type.class.doxygen.cuda-cpp"
1425
},
1426
"2": {
1427
"name": "markup.inline.raw.string.cuda-cpp"
1428
}
1429
}
1430
},
1431
{
1432
"match": "(?<=[\\s*!\\/])[\\\\@](?:a|anchor|b|c|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|e|em|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\b(?:\\{[^}]*\\})?",
1433
"name": "storage.type.class.doxygen.cuda-cpp"
1434
},
1435
{
1436
"match": "(?<=[\\s*!\\/])[\\\\@](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\b(?:\\{[^}]*\\})?",
1437
"name": "storage.type.class.doxygen.cuda-cpp"
1438
},
1439
{
1440
"match": "((?<=[\\s*!\\/])[\\\\@]param)(?:\\s*\\[((?:,?(?:(?:\\s)+)?(?:in|out)(?:(?:\\s)+)?)+)\\])?(?:\\s)+(\\b\\w+\\b)",
1441
"captures": {
1442
"1": {
1443
"name": "storage.type.class.doxygen.cuda-cpp"
1444
},
1445
"2": {
1446
"patterns": [
1447
{
1448
"match": "in|out",
1449
"name": "keyword.other.parameter.direction.$0.cuda-cpp"
1450
}
1451
]
1452
},
1453
"3": {
1454
"name": "variable.parameter.cuda-cpp"
1455
}
1456
}
1457
},
1458
{
1459
"match": "(?<=[\\s*!\\/])[\\\\@](?:arg|attention|author|authors|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remark|remarks|result|return|returns|retval|sa|see|short|since|test|throw|throws|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*\\})?",
1460
"name": "storage.type.class.doxygen.cuda-cpp"
1461
},
1462
{
1463
"match": "(?<=[\\s*!\\/])[\\\\@](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\b(?:\\{[^}]*\\})?",
1464
"name": "storage.type.class.doxygen.cuda-cpp"
1465
},
1466
{
1467
"match": "(?:\\b[A-Z]+:|@[a-z_]+:)",
1468
"name": "storage.type.class.gtkdoc.cuda-cpp"
1469
}
1470
]
1471
},
1472
{
1473
"include": "#emacs_file_banner"
1474
},
1475
{
1476
"include": "#block_comment"
1477
},
1478
{
1479
"include": "#line_comment"
1480
},
1481
{
1482
"include": "#invalid_comment_end"
1483
}
1484
]
1485
},
1486
"constructor_inline": {
1487
"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
1488
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1489
"beginCaptures": {
1490
"0": {
1491
"name": "meta.head.function.definition.special.constructor.cuda-cpp"
1492
},
1493
"1": {
1494
"patterns": [
1495
{
1496
"include": "#inline_comment"
1497
}
1498
]
1499
},
1500
"2": {
1501
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1502
},
1503
"3": {
1504
"name": "comment.block.cuda-cpp"
1505
},
1506
"4": {
1507
"patterns": [
1508
{
1509
"match": "\\*\\/",
1510
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1511
},
1512
{
1513
"match": "\\*",
1514
"name": "comment.block.cuda-cpp"
1515
}
1516
]
1517
},
1518
"5": {
1519
"patterns": [
1520
{
1521
"include": "#functional_specifiers_pre_parameters"
1522
}
1523
]
1524
},
1525
"6": {
1526
"patterns": [
1527
{
1528
"include": "#inline_comment"
1529
}
1530
]
1531
},
1532
"7": {
1533
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1534
},
1535
"8": {
1536
"name": "comment.block.cuda-cpp"
1537
},
1538
"9": {
1539
"patterns": [
1540
{
1541
"match": "\\*\\/",
1542
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1543
},
1544
{
1545
"match": "\\*",
1546
"name": "comment.block.cuda-cpp"
1547
}
1548
]
1549
},
1550
"10": {
1551
"patterns": [
1552
{
1553
"include": "#inline_comment"
1554
}
1555
]
1556
},
1557
"11": {
1558
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1559
},
1560
"12": {
1561
"name": "comment.block.cuda-cpp"
1562
},
1563
"13": {
1564
"patterns": [
1565
{
1566
"match": "\\*\\/",
1567
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1568
},
1569
{
1570
"match": "\\*",
1571
"name": "comment.block.cuda-cpp"
1572
}
1573
]
1574
},
1575
"14": {
1576
"name": "storage.type.modifier.calling-convention.cuda-cpp"
1577
},
1578
"15": {
1579
"patterns": [
1580
{
1581
"include": "#inline_comment"
1582
}
1583
]
1584
},
1585
"16": {
1586
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1587
},
1588
"17": {
1589
"name": "comment.block.cuda-cpp"
1590
},
1591
"18": {
1592
"patterns": [
1593
{
1594
"match": "\\*\\/",
1595
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1596
},
1597
{
1598
"match": "\\*",
1599
"name": "comment.block.cuda-cpp"
1600
}
1601
]
1602
},
1603
"19": {
1604
"name": "entity.name.function.constructor.cuda-cpp entity.name.function.definition.special.constructor.cuda-cpp"
1605
}
1606
},
1607
"endCaptures": {},
1608
"name": "meta.function.definition.special.constructor.cuda-cpp",
1609
"patterns": [
1610
{
1611
"begin": "\\G ?",
1612
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
1613
"beginCaptures": {},
1614
"endCaptures": {
1615
"0": {
1616
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cuda-cpp"
1617
}
1618
},
1619
"name": "meta.head.function.definition.special.constructor.cuda-cpp",
1620
"patterns": [
1621
{
1622
"include": "#ever_present_context"
1623
},
1624
{
1625
"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
1626
"captures": {
1627
"1": {
1628
"name": "keyword.operator.assignment.cuda-cpp"
1629
},
1630
"2": {
1631
"patterns": [
1632
{
1633
"include": "#inline_comment"
1634
}
1635
]
1636
},
1637
"3": {
1638
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1639
},
1640
"4": {
1641
"name": "comment.block.cuda-cpp"
1642
},
1643
"5": {
1644
"patterns": [
1645
{
1646
"match": "\\*\\/",
1647
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1648
},
1649
{
1650
"match": "\\*",
1651
"name": "comment.block.cuda-cpp"
1652
}
1653
]
1654
},
1655
"6": {
1656
"name": "keyword.other.default.constructor.cuda-cpp"
1657
},
1658
"7": {
1659
"name": "keyword.other.delete.constructor.cuda-cpp"
1660
}
1661
}
1662
},
1663
{
1664
"include": "#functional_specifiers_pre_parameters"
1665
},
1666
{
1667
"begin": ":",
1668
"end": "(?=\\{)",
1669
"beginCaptures": {
1670
"0": {
1671
"name": "punctuation.separator.initializers.cuda-cpp"
1672
}
1673
},
1674
"endCaptures": {},
1675
"patterns": [
1676
{
1677
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()",
1678
"end": "\\)",
1679
"beginCaptures": {
1680
"1": {
1681
"name": "entity.name.function.call.initializer.cuda-cpp"
1682
},
1683
"2": {
1684
"name": "meta.template.call.cuda-cpp",
1685
"patterns": [
1686
{
1687
"include": "#template_call_range"
1688
}
1689
]
1690
},
1691
"3": {},
1692
"4": {
1693
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"
1694
}
1695
},
1696
"endCaptures": {
1697
"0": {
1698
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"
1699
}
1700
},
1701
"contentName": "meta.parameter.initialization",
1702
"patterns": [
1703
{
1704
"include": "#evaluation_context"
1705
}
1706
]
1707
},
1708
{
1709
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)",
1710
"end": "\\}",
1711
"beginCaptures": {
1712
"1": {
1713
"name": "entity.name.function.call.initializer.cuda-cpp"
1714
},
1715
"2": {
1716
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"
1717
}
1718
},
1719
"endCaptures": {
1720
"0": {
1721
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"
1722
}
1723
},
1724
"contentName": "meta.parameter.initialization",
1725
"patterns": [
1726
{
1727
"include": "#evaluation_context"
1728
}
1729
]
1730
},
1731
{
1732
"match": ",",
1733
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
1734
},
1735
{
1736
"include": "#comments"
1737
}
1738
]
1739
},
1740
{
1741
"begin": "\\(",
1742
"end": "\\)",
1743
"beginCaptures": {
1744
"0": {
1745
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cuda-cpp"
1746
}
1747
},
1748
"endCaptures": {
1749
"0": {
1750
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cuda-cpp"
1751
}
1752
},
1753
"contentName": "meta.function.definition.parameters.special.constructor",
1754
"patterns": [
1755
{
1756
"include": "#function_parameter_context"
1757
},
1758
{
1759
"include": "#evaluation_context"
1760
}
1761
]
1762
},
1763
{
1764
"match": "((?:(?:final)|(?:override)))+",
1765
"captures": {
1766
"1": {
1767
"name": "keyword.operator.$1.cuda-cpp"
1768
}
1769
}
1770
},
1771
{
1772
"include": "$self"
1773
}
1774
]
1775
},
1776
{
1777
"begin": "(?<=\\{|<%|\\?\\?<)",
1778
"end": "\\}|%>|\\?\\?>",
1779
"beginCaptures": {},
1780
"endCaptures": {
1781
"0": {
1782
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cuda-cpp"
1783
}
1784
},
1785
"name": "meta.body.function.definition.special.constructor.cuda-cpp",
1786
"patterns": [
1787
{
1788
"include": "#function_body_context"
1789
}
1790
]
1791
},
1792
{
1793
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
1794
"end": "[\\s]*(?=;)",
1795
"beginCaptures": {},
1796
"endCaptures": {},
1797
"name": "meta.tail.function.definition.special.constructor.cuda-cpp",
1798
"patterns": [
1799
{
1800
"include": "$self"
1801
}
1802
]
1803
}
1804
]
1805
},
1806
"constructor_root": {
1807
"begin": "\\s*+((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",
1808
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
1809
"beginCaptures": {
1810
"0": {
1811
"name": "meta.head.function.definition.special.constructor.cuda-cpp"
1812
},
1813
"1": {
1814
"patterns": [
1815
{
1816
"include": "#inline_comment"
1817
}
1818
]
1819
},
1820
"2": {
1821
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1822
},
1823
"3": {
1824
"name": "comment.block.cuda-cpp"
1825
},
1826
"4": {
1827
"patterns": [
1828
{
1829
"match": "\\*\\/",
1830
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1831
},
1832
{
1833
"match": "\\*",
1834
"name": "comment.block.cuda-cpp"
1835
}
1836
]
1837
},
1838
"5": {
1839
"name": "storage.type.modifier.calling-convention.cuda-cpp"
1840
},
1841
"6": {
1842
"patterns": [
1843
{
1844
"include": "#inline_comment"
1845
}
1846
]
1847
},
1848
"7": {
1849
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1850
},
1851
"8": {
1852
"name": "comment.block.cuda-cpp"
1853
},
1854
"9": {
1855
"patterns": [
1856
{
1857
"match": "\\*\\/",
1858
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1859
},
1860
{
1861
"match": "\\*",
1862
"name": "comment.block.cuda-cpp"
1863
}
1864
]
1865
},
1866
"10": {
1867
"patterns": [
1868
{
1869
"match": "::",
1870
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.constructor.cuda-cpp"
1871
},
1872
{
1873
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
1874
"name": "entity.name.scope-resolution.constructor.cuda-cpp"
1875
},
1876
{
1877
"include": "#template_call_range"
1878
}
1879
]
1880
},
1881
"11": {
1882
"patterns": [
1883
{
1884
"include": "#template_call_range"
1885
}
1886
]
1887
},
1888
"12": {},
1889
"13": {
1890
"patterns": [
1891
{
1892
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)",
1893
"name": "entity.name.type.constructor.cuda-cpp"
1894
},
1895
{
1896
"match": "(?<=:)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
1897
"name": "entity.name.function.definition.special.constructor.cuda-cpp"
1898
},
1899
{
1900
"match": "::",
1901
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.constructor.cuda-cpp"
1902
}
1903
]
1904
},
1905
"14": {},
1906
"15": {
1907
"patterns": [
1908
{
1909
"include": "#inline_comment"
1910
}
1911
]
1912
},
1913
"16": {
1914
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1915
},
1916
"17": {
1917
"name": "comment.block.cuda-cpp"
1918
},
1919
"18": {
1920
"patterns": [
1921
{
1922
"match": "\\*\\/",
1923
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1924
},
1925
{
1926
"match": "\\*",
1927
"name": "comment.block.cuda-cpp"
1928
}
1929
]
1930
},
1931
"19": {
1932
"patterns": [
1933
{
1934
"include": "#inline_comment"
1935
}
1936
]
1937
},
1938
"20": {
1939
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1940
},
1941
"21": {
1942
"name": "comment.block.cuda-cpp"
1943
},
1944
"22": {
1945
"patterns": [
1946
{
1947
"match": "\\*\\/",
1948
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1949
},
1950
{
1951
"match": "\\*",
1952
"name": "comment.block.cuda-cpp"
1953
}
1954
]
1955
},
1956
"23": {
1957
"patterns": [
1958
{
1959
"include": "#inline_comment"
1960
}
1961
]
1962
},
1963
"24": {
1964
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
1965
},
1966
"25": {
1967
"name": "comment.block.cuda-cpp"
1968
},
1969
"26": {
1970
"patterns": [
1971
{
1972
"match": "\\*\\/",
1973
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
1974
},
1975
{
1976
"match": "\\*",
1977
"name": "comment.block.cuda-cpp"
1978
}
1979
]
1980
}
1981
},
1982
"endCaptures": {},
1983
"name": "meta.function.definition.special.constructor.cuda-cpp",
1984
"patterns": [
1985
{
1986
"begin": "\\G ?",
1987
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
1988
"beginCaptures": {},
1989
"endCaptures": {
1990
"0": {
1991
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cuda-cpp"
1992
}
1993
},
1994
"name": "meta.head.function.definition.special.constructor.cuda-cpp",
1995
"patterns": [
1996
{
1997
"include": "#ever_present_context"
1998
},
1999
{
2000
"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
2001
"captures": {
2002
"1": {
2003
"name": "keyword.operator.assignment.cuda-cpp"
2004
},
2005
"2": {
2006
"patterns": [
2007
{
2008
"include": "#inline_comment"
2009
}
2010
]
2011
},
2012
"3": {
2013
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2014
},
2015
"4": {
2016
"name": "comment.block.cuda-cpp"
2017
},
2018
"5": {
2019
"patterns": [
2020
{
2021
"match": "\\*\\/",
2022
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2023
},
2024
{
2025
"match": "\\*",
2026
"name": "comment.block.cuda-cpp"
2027
}
2028
]
2029
},
2030
"6": {
2031
"name": "keyword.other.default.constructor.cuda-cpp"
2032
},
2033
"7": {
2034
"name": "keyword.other.delete.constructor.cuda-cpp"
2035
}
2036
}
2037
},
2038
{
2039
"include": "#functional_specifiers_pre_parameters"
2040
},
2041
{
2042
"begin": ":",
2043
"end": "(?=\\{)",
2044
"beginCaptures": {
2045
"0": {
2046
"name": "punctuation.separator.initializers.cuda-cpp"
2047
}
2048
},
2049
"endCaptures": {},
2050
"patterns": [
2051
{
2052
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?(\\()",
2053
"end": "\\)",
2054
"beginCaptures": {
2055
"1": {
2056
"name": "entity.name.function.call.initializer.cuda-cpp"
2057
},
2058
"2": {
2059
"name": "meta.template.call.cuda-cpp",
2060
"patterns": [
2061
{
2062
"include": "#template_call_range"
2063
}
2064
]
2065
},
2066
"3": {},
2067
"4": {
2068
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"
2069
}
2070
},
2071
"endCaptures": {
2072
"0": {
2073
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"
2074
}
2075
},
2076
"contentName": "meta.parameter.initialization",
2077
"patterns": [
2078
{
2079
"include": "#evaluation_context"
2080
}
2081
]
2082
},
2083
{
2084
"begin": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(\\{)",
2085
"end": "\\}",
2086
"beginCaptures": {
2087
"1": {
2088
"name": "entity.name.function.call.initializer.cuda-cpp"
2089
},
2090
"2": {
2091
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cuda-cpp"
2092
}
2093
},
2094
"endCaptures": {
2095
"0": {
2096
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cuda-cpp"
2097
}
2098
},
2099
"contentName": "meta.parameter.initialization",
2100
"patterns": [
2101
{
2102
"include": "#evaluation_context"
2103
}
2104
]
2105
},
2106
{
2107
"match": ",",
2108
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
2109
},
2110
{
2111
"include": "#comments"
2112
}
2113
]
2114
},
2115
{
2116
"begin": "\\(",
2117
"end": "\\)",
2118
"beginCaptures": {
2119
"0": {
2120
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cuda-cpp"
2121
}
2122
},
2123
"endCaptures": {
2124
"0": {
2125
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cuda-cpp"
2126
}
2127
},
2128
"contentName": "meta.function.definition.parameters.special.constructor",
2129
"patterns": [
2130
{
2131
"include": "#function_parameter_context"
2132
},
2133
{
2134
"include": "#evaluation_context"
2135
}
2136
]
2137
},
2138
{
2139
"match": "((?:(?:final)|(?:override)))+",
2140
"captures": {
2141
"1": {
2142
"name": "keyword.operator.$1.cuda-cpp"
2143
}
2144
}
2145
},
2146
{
2147
"include": "$self"
2148
}
2149
]
2150
},
2151
{
2152
"begin": "(?<=\\{|<%|\\?\\?<)",
2153
"end": "\\}|%>|\\?\\?>",
2154
"beginCaptures": {},
2155
"endCaptures": {
2156
"0": {
2157
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cuda-cpp"
2158
}
2159
},
2160
"name": "meta.body.function.definition.special.constructor.cuda-cpp",
2161
"patterns": [
2162
{
2163
"include": "#function_body_context"
2164
}
2165
]
2166
},
2167
{
2168
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
2169
"end": "[\\s]*(?=;)",
2170
"beginCaptures": {},
2171
"endCaptures": {},
2172
"name": "meta.tail.function.definition.special.constructor.cuda-cpp",
2173
"patterns": [
2174
{
2175
"include": "$self"
2176
}
2177
]
2178
}
2179
]
2180
},
2181
"control_flow_keywords": {
2182
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:co_return)|(?:continue)|(?:co_await)|(?:co_yield)|(?:default)|(?:switch)|(?:return)|(?:throw)|(?:while)|(?:catch)|(?:break)|(?:else)|(?:goto)|(?:case)|(?:for)|(?:try)|(?:do)|(?:if))(?!\\w))",
2183
"captures": {
2184
"1": {
2185
"patterns": [
2186
{
2187
"include": "#inline_comment"
2188
}
2189
]
2190
},
2191
"2": {
2192
"patterns": [
2193
{
2194
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2195
"captures": {
2196
"1": {
2197
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2198
},
2199
"2": {
2200
"name": "comment.block.cuda-cpp"
2201
},
2202
"3": {
2203
"patterns": [
2204
{
2205
"match": "\\*\\/",
2206
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2207
},
2208
{
2209
"match": "\\*",
2210
"name": "comment.block.cuda-cpp"
2211
}
2212
]
2213
}
2214
}
2215
}
2216
]
2217
},
2218
"3": {
2219
"name": "keyword.control.$3.cuda-cpp"
2220
}
2221
}
2222
},
2223
"cpp_attributes": {
2224
"begin": "\\[\\[",
2225
"end": "\\]\\]",
2226
"beginCaptures": {
2227
"0": {
2228
"name": "punctuation.section.attribute.begin.cuda-cpp"
2229
}
2230
},
2231
"endCaptures": {
2232
"0": {
2233
"name": "punctuation.section.attribute.end.cuda-cpp"
2234
}
2235
},
2236
"name": "support.other.attribute.cuda-cpp",
2237
"patterns": [
2238
{
2239
"include": "#attributes_context"
2240
},
2241
{
2242
"begin": "\\(",
2243
"end": "\\)",
2244
"beginCaptures": {},
2245
"endCaptures": {},
2246
"patterns": [
2247
{
2248
"include": "#attributes_context"
2249
},
2250
{
2251
"include": "#string_context"
2252
}
2253
]
2254
},
2255
{
2256
"match": "(using)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
2257
"captures": {
2258
"1": {
2259
"name": "keyword.other.using.directive.cuda-cpp"
2260
},
2261
"2": {
2262
"name": "entity.name.namespace.cuda-cpp"
2263
}
2264
}
2265
},
2266
{
2267
"match": ",",
2268
"name": "punctuation.separator.attribute.cuda-cpp"
2269
},
2270
{
2271
"match": ":",
2272
"name": "punctuation.accessor.attribute.cuda-cpp"
2273
},
2274
{
2275
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
2276
"name": "entity.name.namespace.cuda-cpp"
2277
},
2278
{
2279
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2280
"name": "entity.other.attribute.$0.cuda-cpp"
2281
},
2282
{
2283
"include": "#number_literal"
2284
}
2285
]
2286
},
2287
"curly_initializer": {
2288
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\{)",
2289
"end": "\\}",
2290
"beginCaptures": {
2291
"1": {
2292
"name": "meta.qualified_type.cuda-cpp",
2293
"patterns": [
2294
{
2295
"match": "::",
2296
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
2297
},
2298
{
2299
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
2300
"name": "storage.type.$0.cuda-cpp"
2301
},
2302
{
2303
"include": "#attributes_context"
2304
},
2305
{
2306
"include": "#storage_types"
2307
},
2308
{
2309
"include": "#number_literal"
2310
},
2311
{
2312
"include": "#string_context"
2313
},
2314
{
2315
"include": "#comma"
2316
},
2317
{
2318
"include": "#scope_resolution_inner_generated"
2319
},
2320
{
2321
"begin": "<",
2322
"end": ">",
2323
"beginCaptures": {
2324
"0": {
2325
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
2326
}
2327
},
2328
"endCaptures": {
2329
"0": {
2330
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
2331
}
2332
},
2333
"name": "meta.template.call.cuda-cpp",
2334
"patterns": [
2335
{
2336
"include": "#template_call_context"
2337
}
2338
]
2339
},
2340
{
2341
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
2342
"name": "entity.name.type.cuda-cpp"
2343
}
2344
]
2345
},
2346
"2": {
2347
"patterns": [
2348
{
2349
"include": "#attributes_context"
2350
},
2351
{
2352
"include": "#number_literal"
2353
}
2354
]
2355
},
2356
"3": {
2357
"patterns": [
2358
{
2359
"include": "#inline_comment"
2360
}
2361
]
2362
},
2363
"4": {
2364
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2365
},
2366
"5": {
2367
"name": "comment.block.cuda-cpp"
2368
},
2369
"6": {
2370
"patterns": [
2371
{
2372
"match": "\\*\\/",
2373
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2374
},
2375
{
2376
"match": "\\*",
2377
"name": "comment.block.cuda-cpp"
2378
}
2379
]
2380
},
2381
"7": {
2382
"patterns": [
2383
{
2384
"include": "#inline_comment"
2385
}
2386
]
2387
},
2388
"8": {
2389
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2390
},
2391
"9": {
2392
"name": "comment.block.cuda-cpp"
2393
},
2394
"10": {
2395
"patterns": [
2396
{
2397
"match": "\\*\\/",
2398
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2399
},
2400
{
2401
"match": "\\*",
2402
"name": "comment.block.cuda-cpp"
2403
}
2404
]
2405
},
2406
"11": {
2407
"patterns": [
2408
{
2409
"match": "::",
2410
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
2411
},
2412
{
2413
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
2414
"name": "entity.name.scope-resolution.type.cuda-cpp"
2415
},
2416
{
2417
"include": "#template_call_range"
2418
}
2419
]
2420
},
2421
"12": {
2422
"patterns": [
2423
{
2424
"include": "#template_call_range"
2425
}
2426
]
2427
},
2428
"13": {},
2429
"14": {
2430
"patterns": [
2431
{
2432
"include": "#inline_comment"
2433
}
2434
]
2435
},
2436
"15": {
2437
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2438
},
2439
"16": {
2440
"name": "comment.block.cuda-cpp"
2441
},
2442
"17": {
2443
"patterns": [
2444
{
2445
"match": "\\*\\/",
2446
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2447
},
2448
{
2449
"match": "\\*",
2450
"name": "comment.block.cuda-cpp"
2451
}
2452
]
2453
},
2454
"18": {},
2455
"19": {
2456
"patterns": [
2457
{
2458
"include": "#inline_comment"
2459
}
2460
]
2461
},
2462
"20": {
2463
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2464
},
2465
"21": {
2466
"name": "comment.block.cuda-cpp"
2467
},
2468
"22": {
2469
"patterns": [
2470
{
2471
"match": "\\*\\/",
2472
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2473
},
2474
{
2475
"match": "\\*",
2476
"name": "comment.block.cuda-cpp"
2477
}
2478
]
2479
},
2480
"23": {
2481
"name": "punctuation.section.arguments.begin.bracket.curly.initializer.cuda-cpp"
2482
}
2483
},
2484
"endCaptures": {
2485
"0": {
2486
"name": "punctuation.section.arguments.end.bracket.curly.initializer.cuda-cpp"
2487
}
2488
},
2489
"name": "meta.initialization.cuda-cpp",
2490
"patterns": [
2491
{
2492
"include": "#evaluation_context"
2493
},
2494
{
2495
"include": "#comma"
2496
}
2497
]
2498
},
2499
"d9bc4796b0b_module_import": {
2500
"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((import))(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))(?:(?:\\s)+)?(;?)",
2501
"captures": {
2502
"1": {
2503
"patterns": [
2504
{
2505
"include": "#inline_comment"
2506
}
2507
]
2508
},
2509
"2": {
2510
"patterns": [
2511
{
2512
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2513
"captures": {
2514
"1": {
2515
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2516
},
2517
"2": {
2518
"name": "comment.block.cuda-cpp"
2519
},
2520
"3": {
2521
"patterns": [
2522
{
2523
"match": "\\*\\/",
2524
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2525
},
2526
{
2527
"match": "\\*",
2528
"name": "comment.block.cuda-cpp"
2529
}
2530
]
2531
}
2532
}
2533
}
2534
]
2535
},
2536
"3": {
2537
"name": "keyword.control.directive.import.cuda-cpp"
2538
},
2539
"5": {
2540
"name": "string.quoted.other.lt-gt.include.cuda-cpp"
2541
},
2542
"6": {
2543
"name": "punctuation.definition.string.begin.cuda-cpp"
2544
},
2545
"7": {
2546
"name": "punctuation.definition.string.end.cuda-cpp"
2547
},
2548
"8": {
2549
"patterns": [
2550
{
2551
"include": "#inline_comment"
2552
}
2553
]
2554
},
2555
"9": {
2556
"patterns": [
2557
{
2558
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2559
"captures": {
2560
"1": {
2561
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2562
},
2563
"2": {
2564
"name": "comment.block.cuda-cpp"
2565
},
2566
"3": {
2567
"patterns": [
2568
{
2569
"match": "\\*\\/",
2570
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2571
},
2572
{
2573
"match": "\\*",
2574
"name": "comment.block.cuda-cpp"
2575
}
2576
]
2577
}
2578
}
2579
}
2580
]
2581
},
2582
"10": {
2583
"name": "string.quoted.double.include.cuda-cpp"
2584
},
2585
"11": {
2586
"name": "punctuation.definition.string.begin.cuda-cpp"
2587
},
2588
"12": {
2589
"name": "punctuation.definition.string.end.cuda-cpp"
2590
},
2591
"13": {
2592
"patterns": [
2593
{
2594
"include": "#inline_comment"
2595
}
2596
]
2597
},
2598
"14": {
2599
"patterns": [
2600
{
2601
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2602
"captures": {
2603
"1": {
2604
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2605
},
2606
"2": {
2607
"name": "comment.block.cuda-cpp"
2608
},
2609
"3": {
2610
"patterns": [
2611
{
2612
"match": "\\*\\/",
2613
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2614
},
2615
{
2616
"match": "\\*",
2617
"name": "comment.block.cuda-cpp"
2618
}
2619
]
2620
}
2621
}
2622
}
2623
]
2624
},
2625
"15": {
2626
"name": "entity.name.other.preprocessor.macro.include.cuda-cpp"
2627
},
2628
"16": {
2629
"patterns": [
2630
{
2631
"include": "#inline_comment"
2632
}
2633
]
2634
},
2635
"17": {
2636
"patterns": [
2637
{
2638
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2639
"captures": {
2640
"1": {
2641
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2642
},
2643
"2": {
2644
"name": "comment.block.cuda-cpp"
2645
},
2646
"3": {
2647
"patterns": [
2648
{
2649
"match": "\\*\\/",
2650
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2651
},
2652
{
2653
"match": "\\*",
2654
"name": "comment.block.cuda-cpp"
2655
}
2656
]
2657
}
2658
}
2659
}
2660
]
2661
},
2662
"18": {
2663
"patterns": [
2664
{
2665
"include": "#inline_comment"
2666
}
2667
]
2668
},
2669
"19": {
2670
"patterns": [
2671
{
2672
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2673
"captures": {
2674
"1": {
2675
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2676
},
2677
"2": {
2678
"name": "comment.block.cuda-cpp"
2679
},
2680
"3": {
2681
"patterns": [
2682
{
2683
"match": "\\*\\/",
2684
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2685
},
2686
{
2687
"match": "\\*",
2688
"name": "comment.block.cuda-cpp"
2689
}
2690
]
2691
}
2692
}
2693
}
2694
]
2695
},
2696
"20": {
2697
"patterns": [
2698
{
2699
"include": "#inline_comment"
2700
}
2701
]
2702
},
2703
"21": {
2704
"patterns": [
2705
{
2706
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
2707
"captures": {
2708
"1": {
2709
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
2710
},
2711
"2": {
2712
"name": "comment.block.cuda-cpp"
2713
},
2714
"3": {
2715
"patterns": [
2716
{
2717
"match": "\\*\\/",
2718
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
2719
},
2720
{
2721
"match": "\\*",
2722
"name": "comment.block.cuda-cpp"
2723
}
2724
]
2725
}
2726
}
2727
}
2728
]
2729
},
2730
"22": {
2731
"name": "punctuation.terminator.statement.cuda-cpp"
2732
}
2733
},
2734
"name": "meta.preprocessor.import.cuda-cpp"
2735
},
2736
"d9bc4796b0b_preprocessor_number_literal": {
2737
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
2738
"captures": {
2739
"0": {
2740
"patterns": [
2741
{
2742
"begin": "(?=.)",
2743
"end": "$",
2744
"beginCaptures": {},
2745
"endCaptures": {},
2746
"patterns": [
2747
{
2748
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",
2749
"captures": {
2750
"1": {
2751
"name": "keyword.other.unit.hexadecimal.cuda-cpp"
2752
},
2753
"2": {
2754
"name": "constant.numeric.hexadecimal.cuda-cpp",
2755
"patterns": [
2756
{
2757
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2758
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2759
}
2760
]
2761
},
2762
"3": {
2763
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2764
},
2765
"4": {
2766
"name": "constant.numeric.hexadecimal.cuda-cpp"
2767
},
2768
"5": {
2769
"name": "constant.numeric.hexadecimal.cuda-cpp",
2770
"patterns": [
2771
{
2772
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2773
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2774
}
2775
]
2776
},
2777
"6": {
2778
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2779
},
2780
"7": {
2781
"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"
2782
},
2783
"8": {
2784
"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"
2785
},
2786
"9": {
2787
"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"
2788
},
2789
"10": {
2790
"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",
2791
"patterns": [
2792
{
2793
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2794
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2795
}
2796
]
2797
},
2798
"11": {
2799
"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"
2800
}
2801
}
2802
},
2803
{
2804
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?$",
2805
"captures": {
2806
"1": {
2807
"name": "constant.numeric.decimal.cuda-cpp",
2808
"patterns": [
2809
{
2810
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2811
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2812
}
2813
]
2814
},
2815
"2": {
2816
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2817
},
2818
"3": {
2819
"name": "constant.numeric.decimal.point.cuda-cpp"
2820
},
2821
"4": {
2822
"name": "constant.numeric.decimal.cuda-cpp",
2823
"patterns": [
2824
{
2825
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2826
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2827
}
2828
]
2829
},
2830
"5": {
2831
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2832
},
2833
"6": {
2834
"name": "keyword.other.unit.exponent.decimal.cuda-cpp"
2835
},
2836
"7": {
2837
"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"
2838
},
2839
"8": {
2840
"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"
2841
},
2842
"9": {
2843
"name": "constant.numeric.exponent.decimal.cuda-cpp",
2844
"patterns": [
2845
{
2846
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2847
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2848
}
2849
]
2850
},
2851
"10": {
2852
"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"
2853
}
2854
}
2855
},
2856
{
2857
"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2858
"captures": {
2859
"1": {
2860
"name": "keyword.other.unit.binary.cuda-cpp"
2861
},
2862
"2": {
2863
"name": "constant.numeric.binary.cuda-cpp",
2864
"patterns": [
2865
{
2866
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2867
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2868
}
2869
]
2870
},
2871
"3": {
2872
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2873
},
2874
"4": {
2875
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
2876
}
2877
}
2878
},
2879
{
2880
"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2881
"captures": {
2882
"1": {
2883
"name": "keyword.other.unit.octal.cuda-cpp"
2884
},
2885
"2": {
2886
"name": "constant.numeric.octal.cuda-cpp",
2887
"patterns": [
2888
{
2889
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2890
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2891
}
2892
]
2893
},
2894
"3": {
2895
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2896
},
2897
"4": {
2898
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
2899
}
2900
}
2901
},
2902
{
2903
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2904
"captures": {
2905
"1": {
2906
"name": "keyword.other.unit.hexadecimal.cuda-cpp"
2907
},
2908
"2": {
2909
"name": "constant.numeric.hexadecimal.cuda-cpp",
2910
"patterns": [
2911
{
2912
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2913
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2914
}
2915
]
2916
},
2917
"3": {
2918
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2919
},
2920
"4": {
2921
"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"
2922
},
2923
"5": {
2924
"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"
2925
},
2926
"6": {
2927
"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"
2928
},
2929
"7": {
2930
"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",
2931
"patterns": [
2932
{
2933
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2934
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2935
}
2936
]
2937
},
2938
"8": {
2939
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
2940
}
2941
}
2942
},
2943
{
2944
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?$",
2945
"captures": {
2946
"1": {
2947
"name": "constant.numeric.decimal.cuda-cpp",
2948
"patterns": [
2949
{
2950
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2951
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2952
}
2953
]
2954
},
2955
"2": {
2956
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2957
},
2958
"3": {
2959
"name": "keyword.other.unit.exponent.decimal.cuda-cpp"
2960
},
2961
"4": {
2962
"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"
2963
},
2964
"5": {
2965
"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"
2966
},
2967
"6": {
2968
"name": "constant.numeric.exponent.decimal.cuda-cpp",
2969
"patterns": [
2970
{
2971
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
2972
"name": "punctuation.separator.constant.numeric.cuda-cpp"
2973
}
2974
]
2975
},
2976
"7": {
2977
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
2978
}
2979
}
2980
},
2981
{
2982
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
2983
"name": "invalid.illegal.constant.numeric.cuda-cpp"
2984
}
2985
]
2986
}
2987
]
2988
}
2989
}
2990
},
2991
"decltype": {
2992
"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
2993
"end": "\\)",
2994
"beginCaptures": {
2995
"1": {
2996
"name": "keyword.operator.functionlike.cuda-cpp keyword.other.decltype.cuda-cpp storage.type.decltype.cuda-cpp"
2997
},
2998
"2": {
2999
"patterns": [
3000
{
3001
"include": "#inline_comment"
3002
}
3003
]
3004
},
3005
"3": {
3006
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3007
},
3008
"4": {
3009
"name": "comment.block.cuda-cpp"
3010
},
3011
"5": {
3012
"patterns": [
3013
{
3014
"match": "\\*\\/",
3015
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3016
},
3017
{
3018
"match": "\\*",
3019
"name": "comment.block.cuda-cpp"
3020
}
3021
]
3022
},
3023
"6": {
3024
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cuda-cpp"
3025
}
3026
},
3027
"endCaptures": {
3028
"0": {
3029
"name": "punctuation.section.arguments.end.bracket.round.decltype.cuda-cpp"
3030
}
3031
},
3032
"contentName": "meta.arguments.decltype",
3033
"patterns": [
3034
{
3035
"include": "#evaluation_context"
3036
}
3037
]
3038
},
3039
"decltype_specifier": {
3040
"begin": "((?<!\\w)decltype(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
3041
"end": "\\)",
3042
"beginCaptures": {
3043
"1": {
3044
"name": "keyword.operator.functionlike.cuda-cpp keyword.other.decltype.cuda-cpp storage.type.decltype.cuda-cpp"
3045
},
3046
"2": {
3047
"patterns": [
3048
{
3049
"include": "#inline_comment"
3050
}
3051
]
3052
},
3053
"3": {
3054
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3055
},
3056
"4": {
3057
"name": "comment.block.cuda-cpp"
3058
},
3059
"5": {
3060
"patterns": [
3061
{
3062
"match": "\\*\\/",
3063
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3064
},
3065
{
3066
"match": "\\*",
3067
"name": "comment.block.cuda-cpp"
3068
}
3069
]
3070
},
3071
"6": {
3072
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cuda-cpp"
3073
}
3074
},
3075
"endCaptures": {
3076
"0": {
3077
"name": "punctuation.section.arguments.end.bracket.round.decltype.cuda-cpp"
3078
}
3079
},
3080
"contentName": "meta.arguments.decltype",
3081
"patterns": [
3082
{
3083
"include": "#evaluation_context"
3084
}
3085
]
3086
},
3087
"default_statement": {
3088
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)default(?!\\w))",
3089
"end": ":",
3090
"beginCaptures": {
3091
"1": {
3092
"patterns": [
3093
{
3094
"include": "#inline_comment"
3095
}
3096
]
3097
},
3098
"2": {
3099
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3100
},
3101
"3": {
3102
"name": "comment.block.cuda-cpp"
3103
},
3104
"4": {
3105
"patterns": [
3106
{
3107
"match": "\\*\\/",
3108
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3109
},
3110
{
3111
"match": "\\*",
3112
"name": "comment.block.cuda-cpp"
3113
}
3114
]
3115
},
3116
"5": {
3117
"name": "keyword.control.default.cuda-cpp"
3118
}
3119
},
3120
"endCaptures": {
3121
"0": {
3122
"name": "punctuation.separator.colon.case.default.cuda-cpp"
3123
}
3124
},
3125
"name": "meta.conditional.case.cuda-cpp",
3126
"patterns": [
3127
{
3128
"include": "#evaluation_context"
3129
},
3130
{
3131
"include": "#c_conditional_context"
3132
}
3133
]
3134
},
3135
"destructor_inline": {
3136
"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(~(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=\\())",
3137
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
3138
"beginCaptures": {
3139
"0": {
3140
"name": "meta.head.function.definition.special.member.destructor.cuda-cpp"
3141
},
3142
"1": {
3143
"patterns": [
3144
{
3145
"include": "#inline_comment"
3146
}
3147
]
3148
},
3149
"2": {
3150
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3151
},
3152
"3": {
3153
"name": "comment.block.cuda-cpp"
3154
},
3155
"4": {
3156
"patterns": [
3157
{
3158
"match": "\\*\\/",
3159
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3160
},
3161
{
3162
"match": "\\*",
3163
"name": "comment.block.cuda-cpp"
3164
}
3165
]
3166
},
3167
"5": {
3168
"patterns": [
3169
{
3170
"include": "#inline_comment"
3171
}
3172
]
3173
},
3174
"6": {
3175
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3176
},
3177
"7": {
3178
"name": "comment.block.cuda-cpp"
3179
},
3180
"8": {
3181
"patterns": [
3182
{
3183
"match": "\\*\\/",
3184
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3185
},
3186
{
3187
"match": "\\*",
3188
"name": "comment.block.cuda-cpp"
3189
}
3190
]
3191
},
3192
"9": {
3193
"name": "storage.type.modifier.calling-convention.cuda-cpp"
3194
},
3195
"10": {
3196
"patterns": [
3197
{
3198
"include": "#inline_comment"
3199
}
3200
]
3201
},
3202
"11": {
3203
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3204
},
3205
"12": {
3206
"name": "comment.block.cuda-cpp"
3207
},
3208
"13": {
3209
"patterns": [
3210
{
3211
"match": "\\*\\/",
3212
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3213
},
3214
{
3215
"match": "\\*",
3216
"name": "comment.block.cuda-cpp"
3217
}
3218
]
3219
},
3220
"14": {
3221
"patterns": [
3222
{
3223
"include": "#functional_specifiers_pre_parameters"
3224
}
3225
]
3226
},
3227
"15": {
3228
"patterns": [
3229
{
3230
"include": "#inline_comment"
3231
}
3232
]
3233
},
3234
"16": {
3235
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3236
},
3237
"17": {
3238
"name": "comment.block.cuda-cpp"
3239
},
3240
"18": {
3241
"patterns": [
3242
{
3243
"match": "\\*\\/",
3244
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3245
},
3246
{
3247
"match": "\\*",
3248
"name": "comment.block.cuda-cpp"
3249
}
3250
]
3251
},
3252
"19": {
3253
"name": "entity.name.function.destructor.cuda-cpp entity.name.function.definition.special.member.destructor.cuda-cpp"
3254
}
3255
},
3256
"endCaptures": {},
3257
"name": "meta.function.definition.special.member.destructor.cuda-cpp",
3258
"patterns": [
3259
{
3260
"begin": "\\G ?",
3261
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
3262
"beginCaptures": {},
3263
"endCaptures": {
3264
"0": {
3265
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cuda-cpp"
3266
}
3267
},
3268
"name": "meta.head.function.definition.special.member.destructor.cuda-cpp",
3269
"patterns": [
3270
{
3271
"include": "#ever_present_context"
3272
},
3273
{
3274
"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
3275
"captures": {
3276
"1": {
3277
"name": "keyword.operator.assignment.cuda-cpp"
3278
},
3279
"2": {
3280
"patterns": [
3281
{
3282
"include": "#inline_comment"
3283
}
3284
]
3285
},
3286
"3": {
3287
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3288
},
3289
"4": {
3290
"name": "comment.block.cuda-cpp"
3291
},
3292
"5": {
3293
"patterns": [
3294
{
3295
"match": "\\*\\/",
3296
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3297
},
3298
{
3299
"match": "\\*",
3300
"name": "comment.block.cuda-cpp"
3301
}
3302
]
3303
},
3304
"6": {
3305
"name": "keyword.other.default.constructor.cuda-cpp"
3306
},
3307
"7": {
3308
"name": "keyword.other.delete.constructor.cuda-cpp"
3309
}
3310
}
3311
},
3312
{
3313
"begin": "\\(",
3314
"end": "\\)",
3315
"beginCaptures": {
3316
"0": {
3317
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cuda-cpp"
3318
}
3319
},
3320
"endCaptures": {
3321
"0": {
3322
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cuda-cpp"
3323
}
3324
},
3325
"contentName": "meta.function.definition.parameters.special.member.destructor",
3326
"patterns": []
3327
},
3328
{
3329
"match": "((?:(?:final)|(?:override)))+",
3330
"captures": {
3331
"1": {
3332
"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.$1.cuda-cpp"
3333
}
3334
}
3335
},
3336
{
3337
"include": "$self"
3338
}
3339
]
3340
},
3341
{
3342
"begin": "(?<=\\{|<%|\\?\\?<)",
3343
"end": "\\}|%>|\\?\\?>",
3344
"beginCaptures": {},
3345
"endCaptures": {
3346
"0": {
3347
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cuda-cpp"
3348
}
3349
},
3350
"name": "meta.body.function.definition.special.member.destructor.cuda-cpp",
3351
"patterns": [
3352
{
3353
"include": "#function_body_context"
3354
}
3355
]
3356
},
3357
{
3358
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3359
"end": "[\\s]*(?=;)",
3360
"beginCaptures": {},
3361
"endCaptures": {},
3362
"name": "meta.tail.function.definition.special.member.destructor.cuda-cpp",
3363
"patterns": [
3364
{
3365
"include": "$self"
3366
}
3367
]
3368
}
3369
]
3370
},
3371
"destructor_root": {
3372
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)(((?>(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))::((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))~\\14((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\())",
3373
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
3374
"beginCaptures": {
3375
"0": {
3376
"name": "meta.head.function.definition.special.member.destructor.cuda-cpp"
3377
},
3378
"1": {
3379
"patterns": [
3380
{
3381
"include": "#inline_comment"
3382
}
3383
]
3384
},
3385
"2": {
3386
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3387
},
3388
"3": {
3389
"name": "comment.block.cuda-cpp"
3390
},
3391
"4": {
3392
"patterns": [
3393
{
3394
"match": "\\*\\/",
3395
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3396
},
3397
{
3398
"match": "\\*",
3399
"name": "comment.block.cuda-cpp"
3400
}
3401
]
3402
},
3403
"5": {
3404
"name": "storage.type.modifier.calling-convention.cuda-cpp"
3405
},
3406
"6": {
3407
"patterns": [
3408
{
3409
"include": "#inline_comment"
3410
}
3411
]
3412
},
3413
"7": {
3414
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3415
},
3416
"8": {
3417
"name": "comment.block.cuda-cpp"
3418
},
3419
"9": {
3420
"patterns": [
3421
{
3422
"match": "\\*\\/",
3423
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3424
},
3425
{
3426
"match": "\\*",
3427
"name": "comment.block.cuda-cpp"
3428
}
3429
]
3430
},
3431
"10": {
3432
"patterns": [
3433
{
3434
"match": "::",
3435
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.destructor.cuda-cpp"
3436
},
3437
{
3438
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
3439
"name": "entity.name.scope-resolution.destructor.cuda-cpp"
3440
},
3441
{
3442
"include": "#template_call_range"
3443
}
3444
]
3445
},
3446
"11": {
3447
"patterns": [
3448
{
3449
"include": "#template_call_range"
3450
}
3451
]
3452
},
3453
"12": {},
3454
"13": {
3455
"patterns": [
3456
{
3457
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?=:)",
3458
"name": "entity.name.type.destructor.cuda-cpp"
3459
},
3460
{
3461
"match": "(?<=:)~(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
3462
"name": "entity.name.function.definition.special.member.destructor.cuda-cpp"
3463
},
3464
{
3465
"match": "::",
3466
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.destructor.cuda-cpp"
3467
}
3468
]
3469
},
3470
"14": {},
3471
"15": {
3472
"patterns": [
3473
{
3474
"include": "#inline_comment"
3475
}
3476
]
3477
},
3478
"16": {
3479
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3480
},
3481
"17": {
3482
"name": "comment.block.cuda-cpp"
3483
},
3484
"18": {
3485
"patterns": [
3486
{
3487
"match": "\\*\\/",
3488
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3489
},
3490
{
3491
"match": "\\*",
3492
"name": "comment.block.cuda-cpp"
3493
}
3494
]
3495
},
3496
"19": {
3497
"patterns": [
3498
{
3499
"include": "#inline_comment"
3500
}
3501
]
3502
},
3503
"20": {
3504
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3505
},
3506
"21": {
3507
"name": "comment.block.cuda-cpp"
3508
},
3509
"22": {
3510
"patterns": [
3511
{
3512
"match": "\\*\\/",
3513
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3514
},
3515
{
3516
"match": "\\*",
3517
"name": "comment.block.cuda-cpp"
3518
}
3519
]
3520
},
3521
"23": {
3522
"patterns": [
3523
{
3524
"include": "#inline_comment"
3525
}
3526
]
3527
},
3528
"24": {
3529
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3530
},
3531
"25": {
3532
"name": "comment.block.cuda-cpp"
3533
},
3534
"26": {
3535
"patterns": [
3536
{
3537
"match": "\\*\\/",
3538
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3539
},
3540
{
3541
"match": "\\*",
3542
"name": "comment.block.cuda-cpp"
3543
}
3544
]
3545
}
3546
},
3547
"endCaptures": {},
3548
"name": "meta.function.definition.special.member.destructor.cuda-cpp",
3549
"patterns": [
3550
{
3551
"begin": "\\G ?",
3552
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
3553
"beginCaptures": {},
3554
"endCaptures": {
3555
"0": {
3556
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cuda-cpp"
3557
}
3558
},
3559
"name": "meta.head.function.definition.special.member.destructor.cuda-cpp",
3560
"patterns": [
3561
{
3562
"include": "#ever_present_context"
3563
},
3564
{
3565
"match": "(\\=)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(default)|(delete))",
3566
"captures": {
3567
"1": {
3568
"name": "keyword.operator.assignment.cuda-cpp"
3569
},
3570
"2": {
3571
"patterns": [
3572
{
3573
"include": "#inline_comment"
3574
}
3575
]
3576
},
3577
"3": {
3578
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3579
},
3580
"4": {
3581
"name": "comment.block.cuda-cpp"
3582
},
3583
"5": {
3584
"patterns": [
3585
{
3586
"match": "\\*\\/",
3587
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3588
},
3589
{
3590
"match": "\\*",
3591
"name": "comment.block.cuda-cpp"
3592
}
3593
]
3594
},
3595
"6": {
3596
"name": "keyword.other.default.constructor.cuda-cpp"
3597
},
3598
"7": {
3599
"name": "keyword.other.delete.constructor.cuda-cpp"
3600
}
3601
}
3602
},
3603
{
3604
"begin": "\\(",
3605
"end": "\\)",
3606
"beginCaptures": {
3607
"0": {
3608
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cuda-cpp"
3609
}
3610
},
3611
"endCaptures": {
3612
"0": {
3613
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cuda-cpp"
3614
}
3615
},
3616
"contentName": "meta.function.definition.parameters.special.member.destructor",
3617
"patterns": []
3618
},
3619
{
3620
"match": "((?:(?:final)|(?:override)))+",
3621
"captures": {
3622
"1": {
3623
"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.$1.cuda-cpp"
3624
}
3625
}
3626
},
3627
{
3628
"include": "$self"
3629
}
3630
]
3631
},
3632
{
3633
"begin": "(?<=\\{|<%|\\?\\?<)",
3634
"end": "\\}|%>|\\?\\?>",
3635
"beginCaptures": {},
3636
"endCaptures": {
3637
"0": {
3638
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cuda-cpp"
3639
}
3640
},
3641
"name": "meta.body.function.definition.special.member.destructor.cuda-cpp",
3642
"patterns": [
3643
{
3644
"include": "#function_body_context"
3645
}
3646
]
3647
},
3648
{
3649
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3650
"end": "[\\s]*(?=;)",
3651
"beginCaptures": {},
3652
"endCaptures": {},
3653
"name": "meta.tail.function.definition.special.member.destructor.cuda-cpp",
3654
"patterns": [
3655
{
3656
"include": "$self"
3657
}
3658
]
3659
}
3660
]
3661
},
3662
"diagnostic": {
3663
"begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:error|warning)))\\b(?:(?:\\s)+)?",
3664
"end": "(?<!\\\\)(?=\\n)",
3665
"beginCaptures": {
3666
"1": {
3667
"name": "keyword.control.directive.diagnostic.$7.cuda-cpp"
3668
},
3669
"2": {
3670
"patterns": [
3671
{
3672
"include": "#inline_comment"
3673
}
3674
]
3675
},
3676
"3": {
3677
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3678
},
3679
"4": {
3680
"name": "comment.block.cuda-cpp"
3681
},
3682
"5": {
3683
"patterns": [
3684
{
3685
"match": "\\*\\/",
3686
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3687
},
3688
{
3689
"match": "\\*",
3690
"name": "comment.block.cuda-cpp"
3691
}
3692
]
3693
},
3694
"6": {
3695
"name": "punctuation.definition.directive.cuda-cpp"
3696
},
3697
"7": {}
3698
},
3699
"endCaptures": {},
3700
"name": "meta.preprocessor.diagnostic.$reference(directive).cuda-cpp",
3701
"patterns": [
3702
{
3703
"begin": "\"",
3704
"end": "(?:(\")|(?<!\\\\)(?=\\n))",
3705
"beginCaptures": {
3706
"0": {
3707
"name": "punctuation.definition.string.begin.cuda-cpp"
3708
}
3709
},
3710
"endCaptures": {
3711
"1": {
3712
"name": "punctuation.definition.string.end.cuda-cpp"
3713
}
3714
},
3715
"name": "string.quoted.double.cuda-cpp",
3716
"patterns": [
3717
{
3718
"include": "#line_continuation_character"
3719
}
3720
]
3721
},
3722
{
3723
"begin": "'",
3724
"end": "(?:(')|(?<!\\\\)(?=\\n))",
3725
"beginCaptures": {
3726
"0": {
3727
"name": "punctuation.definition.string.begin.cuda-cpp"
3728
}
3729
},
3730
"endCaptures": {
3731
"1": {
3732
"name": "punctuation.definition.string.end.cuda-cpp"
3733
}
3734
},
3735
"name": "string.quoted.single.cuda-cpp",
3736
"patterns": [
3737
{
3738
"include": "#line_continuation_character"
3739
}
3740
]
3741
},
3742
{
3743
"begin": "[^'\"]",
3744
"end": "(?<!\\\\)(?=\\n)",
3745
"beginCaptures": {},
3746
"endCaptures": {},
3747
"name": "string.unquoted.cuda-cpp",
3748
"patterns": [
3749
{
3750
"include": "#line_continuation_character"
3751
},
3752
{
3753
"include": "#comments"
3754
}
3755
]
3756
}
3757
]
3758
},
3759
"emacs_file_banner": {
3760
"match": "(?:(^(?:(?:\\s)+)?((\\/\\/)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\4(?:(?:\\s)+)?(?:\\n|$)))|(^(?:(?:\\s)+)?((\\/\\*)(?:(?:\\s)+)?((?:[#;\\/=*C~]+)++(?![#;\\/=*C~]))(?:(?:\\s)+)?.+(?:(?:\\s)+)?\\8(?:(?:\\s)+)?\\*\\/)))",
3761
"captures": {
3762
"1": {
3763
"name": "meta.toc-list.banner.double-slash.cuda-cpp"
3764
},
3765
"2": {
3766
"name": "comment.line.double-slash.cuda-cpp"
3767
},
3768
"3": {
3769
"name": "punctuation.definition.comment.cuda-cpp"
3770
},
3771
"4": {
3772
"name": "meta.banner.character.cuda-cpp"
3773
},
3774
"5": {
3775
"name": "meta.toc-list.banner.block.cuda-cpp"
3776
},
3777
"6": {
3778
"name": "comment.line.banner.cuda-cpp"
3779
},
3780
"7": {
3781
"name": "punctuation.definition.comment.cuda-cpp"
3782
},
3783
"8": {
3784
"name": "meta.banner.character.cuda-cpp"
3785
}
3786
}
3787
},
3788
"empty_square_brackets": {
3789
"name": "storage.modifier.array.bracket.square",
3790
"match": "(?<!delete)\\[(?:(?:\\s)+)?\\]"
3791
},
3792
"enum_block": {
3793
"begin": "((?<!\\w)enum(?!\\w))(?:(?:\\s)+(class|struct))?(?:(?:(?:\\s)+|((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?={))(?:(?:\\s)+)?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)(?:(?:(?:\\s)+)?(:)(?:(?:\\s)+)?(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?(::))?(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))?",
3794
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
3795
"beginCaptures": {
3796
"0": {
3797
"name": "meta.head.enum.cuda-cpp"
3798
},
3799
"1": {
3800
"name": "storage.type.enum.cuda-cpp"
3801
},
3802
"2": {
3803
"name": "storage.type.enum.enum-key.$2.cuda-cpp"
3804
},
3805
"3": {
3806
"patterns": [
3807
{
3808
"include": "#attributes_context"
3809
},
3810
{
3811
"include": "#number_literal"
3812
}
3813
]
3814
},
3815
"4": {
3816
"name": "entity.name.type.enum.cuda-cpp"
3817
},
3818
"5": {
3819
"name": "punctuation.separator.colon.type-specifier.cuda-cpp"
3820
},
3821
"6": {
3822
"patterns": [
3823
{
3824
"include": "#scope_resolution_inner_generated"
3825
}
3826
]
3827
},
3828
"7": {
3829
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
3830
},
3831
"8": {
3832
"patterns": [
3833
{
3834
"include": "#template_call_range"
3835
}
3836
]
3837
},
3838
"9": {},
3839
"10": {
3840
"name": "entity.name.scope-resolution.cuda-cpp"
3841
},
3842
"11": {
3843
"name": "meta.template.call.cuda-cpp",
3844
"patterns": [
3845
{
3846
"include": "#template_call_range"
3847
}
3848
]
3849
},
3850
"12": {},
3851
"13": {
3852
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
3853
},
3854
"14": {
3855
"name": "storage.type.integral.$14.cuda-cpp"
3856
}
3857
},
3858
"endCaptures": {
3859
"1": {
3860
"name": "punctuation.terminator.statement.cuda-cpp"
3861
},
3862
"2": {
3863
"name": "punctuation.terminator.statement.cuda-cpp"
3864
}
3865
},
3866
"name": "meta.block.enum.cuda-cpp",
3867
"patterns": [
3868
{
3869
"begin": "\\G ?",
3870
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
3871
"beginCaptures": {},
3872
"endCaptures": {
3873
"0": {
3874
"name": "punctuation.section.block.begin.bracket.curly.enum.cuda-cpp"
3875
}
3876
},
3877
"name": "meta.head.enum.cuda-cpp",
3878
"patterns": [
3879
{
3880
"include": "$self"
3881
}
3882
]
3883
},
3884
{
3885
"begin": "(?<=\\{|<%|\\?\\?<)",
3886
"end": "\\}|%>|\\?\\?>",
3887
"beginCaptures": {},
3888
"endCaptures": {
3889
"0": {
3890
"name": "punctuation.section.block.end.bracket.curly.enum.cuda-cpp"
3891
}
3892
},
3893
"name": "meta.body.enum.cuda-cpp",
3894
"patterns": [
3895
{
3896
"include": "#ever_present_context"
3897
},
3898
{
3899
"include": "#enumerator_list"
3900
},
3901
{
3902
"include": "#comments"
3903
},
3904
{
3905
"include": "#comma"
3906
},
3907
{
3908
"include": "#semicolon"
3909
}
3910
]
3911
},
3912
{
3913
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
3914
"end": "[\\s]*(?=;)",
3915
"beginCaptures": {},
3916
"endCaptures": {},
3917
"name": "meta.tail.enum.cuda-cpp",
3918
"patterns": [
3919
{
3920
"include": "$self"
3921
}
3922
]
3923
}
3924
]
3925
},
3926
"enum_declare": {
3927
"match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
3928
"captures": {
3929
"1": {
3930
"name": "storage.type.enum.declare.cuda-cpp"
3931
},
3932
"2": {
3933
"patterns": [
3934
{
3935
"include": "#inline_comment"
3936
}
3937
]
3938
},
3939
"3": {
3940
"patterns": [
3941
{
3942
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
3943
"captures": {
3944
"1": {
3945
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3946
},
3947
"2": {
3948
"name": "comment.block.cuda-cpp"
3949
},
3950
"3": {
3951
"patterns": [
3952
{
3953
"match": "\\*\\/",
3954
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3955
},
3956
{
3957
"match": "\\*",
3958
"name": "comment.block.cuda-cpp"
3959
}
3960
]
3961
}
3962
}
3963
}
3964
]
3965
},
3966
"4": {
3967
"name": "entity.name.type.enum.cuda-cpp"
3968
},
3969
"5": {
3970
"patterns": [
3971
{
3972
"match": "\\*",
3973
"name": "storage.modifier.pointer.cuda-cpp"
3974
},
3975
{
3976
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
3977
"captures": {
3978
"1": {
3979
"patterns": [
3980
{
3981
"include": "#inline_comment"
3982
}
3983
]
3984
},
3985
"2": {
3986
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
3987
},
3988
"3": {
3989
"name": "comment.block.cuda-cpp"
3990
},
3991
"4": {
3992
"patterns": [
3993
{
3994
"match": "\\*\\/",
3995
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
3996
},
3997
{
3998
"match": "\\*",
3999
"name": "comment.block.cuda-cpp"
4000
}
4001
]
4002
}
4003
},
4004
"name": "invalid.illegal.reference-type.cuda-cpp"
4005
},
4006
{
4007
"match": "\\&",
4008
"name": "storage.modifier.reference.cuda-cpp"
4009
}
4010
]
4011
},
4012
"6": {
4013
"patterns": [
4014
{
4015
"include": "#inline_comment"
4016
}
4017
]
4018
},
4019
"7": {
4020
"patterns": [
4021
{
4022
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4023
"captures": {
4024
"1": {
4025
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4026
},
4027
"2": {
4028
"name": "comment.block.cuda-cpp"
4029
},
4030
"3": {
4031
"patterns": [
4032
{
4033
"match": "\\*\\/",
4034
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4035
},
4036
{
4037
"match": "\\*",
4038
"name": "comment.block.cuda-cpp"
4039
}
4040
]
4041
}
4042
}
4043
}
4044
]
4045
},
4046
"8": {
4047
"patterns": [
4048
{
4049
"include": "#inline_comment"
4050
}
4051
]
4052
},
4053
"9": {
4054
"patterns": [
4055
{
4056
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4057
"captures": {
4058
"1": {
4059
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4060
},
4061
"2": {
4062
"name": "comment.block.cuda-cpp"
4063
},
4064
"3": {
4065
"patterns": [
4066
{
4067
"match": "\\*\\/",
4068
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4069
},
4070
{
4071
"match": "\\*",
4072
"name": "comment.block.cuda-cpp"
4073
}
4074
]
4075
}
4076
}
4077
}
4078
]
4079
},
4080
"10": {
4081
"patterns": [
4082
{
4083
"include": "#inline_comment"
4084
}
4085
]
4086
},
4087
"11": {
4088
"patterns": [
4089
{
4090
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4091
"captures": {
4092
"1": {
4093
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4094
},
4095
"2": {
4096
"name": "comment.block.cuda-cpp"
4097
},
4098
"3": {
4099
"patterns": [
4100
{
4101
"match": "\\*\\/",
4102
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4103
},
4104
{
4105
"match": "\\*",
4106
"name": "comment.block.cuda-cpp"
4107
}
4108
]
4109
}
4110
}
4111
}
4112
]
4113
},
4114
"12": {
4115
"name": "variable.other.object.declare.cuda-cpp"
4116
},
4117
"13": {
4118
"patterns": [
4119
{
4120
"include": "#inline_comment"
4121
}
4122
]
4123
},
4124
"14": {
4125
"patterns": [
4126
{
4127
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4128
"captures": {
4129
"1": {
4130
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4131
},
4132
"2": {
4133
"name": "comment.block.cuda-cpp"
4134
},
4135
"3": {
4136
"patterns": [
4137
{
4138
"match": "\\*\\/",
4139
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4140
},
4141
{
4142
"match": "\\*",
4143
"name": "comment.block.cuda-cpp"
4144
}
4145
]
4146
}
4147
}
4148
}
4149
]
4150
}
4151
}
4152
},
4153
"enumerator_list": {
4154
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(?:(?:\\s)+)?(?:(\\=)(?:(?:\\s)+)?(.+?)(?:(?:\\s)+)?)?(?:(?:((?:[,;](?!')|\\n))|(?=\\}[^']))|(?=(?:\\/\\/|\\/\\*)))",
4155
"captures": {
4156
"1": {
4157
"name": "variable.other.enummember.cuda-cpp"
4158
},
4159
"2": {
4160
"patterns": [
4161
{
4162
"include": "#attributes_context"
4163
},
4164
{
4165
"include": "#number_literal"
4166
}
4167
]
4168
},
4169
"3": {
4170
"name": "keyword.operator.assignment.cuda-cpp"
4171
},
4172
"4": {
4173
"patterns": [
4174
{
4175
"include": "#evaluation_context"
4176
}
4177
]
4178
},
4179
"5": {
4180
"patterns": [
4181
{
4182
"include": "#comma"
4183
},
4184
{
4185
"include": "#semicolon"
4186
}
4187
]
4188
}
4189
},
4190
"name": "meta.enum.definition.cuda-cpp"
4191
},
4192
"evaluation_context": {
4193
"patterns": [
4194
{
4195
"include": "#ever_present_context"
4196
},
4197
{
4198
"include": "#string_context"
4199
},
4200
{
4201
"include": "#number_literal"
4202
},
4203
{
4204
"include": "#method_access"
4205
},
4206
{
4207
"include": "#member_access"
4208
},
4209
{
4210
"include": "#predefined_macros"
4211
},
4212
{
4213
"include": "#operators"
4214
},
4215
{
4216
"include": "#memory_operators"
4217
},
4218
{
4219
"include": "#wordlike_operators"
4220
},
4221
{
4222
"include": "#type_casting_operators"
4223
},
4224
{
4225
"include": "#control_flow_keywords"
4226
},
4227
{
4228
"include": "#exception_keywords"
4229
},
4230
{
4231
"include": "#the_this_keyword"
4232
},
4233
{
4234
"include": "#language_constants"
4235
},
4236
{
4237
"include": "#builtin_storage_type_initilizer"
4238
},
4239
{
4240
"include": "#qualifiers_and_specifiers_post_parameters"
4241
},
4242
{
4243
"include": "#functional_specifiers_pre_parameters"
4244
},
4245
{
4246
"include": "#storage_types"
4247
},
4248
{
4249
"include": "#lambdas"
4250
},
4251
{
4252
"include": "#attributes_context"
4253
},
4254
{
4255
"include": "#parentheses"
4256
},
4257
{
4258
"include": "#function_call"
4259
},
4260
{
4261
"include": "#scope_resolution_inner_generated"
4262
},
4263
{
4264
"include": "#square_brackets"
4265
},
4266
{
4267
"include": "#semicolon"
4268
},
4269
{
4270
"include": "#comma"
4271
}
4272
]
4273
},
4274
"ever_present_context": {
4275
"patterns": [
4276
{
4277
"include": "#pragma_mark"
4278
},
4279
{
4280
"include": "#pragma"
4281
},
4282
{
4283
"include": "#include"
4284
},
4285
{
4286
"include": "#line"
4287
},
4288
{
4289
"include": "#diagnostic"
4290
},
4291
{
4292
"include": "#undef"
4293
},
4294
{
4295
"include": "#preprocessor_conditional_range"
4296
},
4297
{
4298
"include": "#single_line_macro"
4299
},
4300
{
4301
"include": "#macro"
4302
},
4303
{
4304
"include": "#preprocessor_conditional_standalone"
4305
},
4306
{
4307
"include": "#macro_argument"
4308
},
4309
{
4310
"include": "#comments"
4311
},
4312
{
4313
"include": "#line_continuation_character"
4314
}
4315
]
4316
},
4317
"exception_keywords": {
4318
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:throw)|(?:catch)|(?:try))(?!\\w))",
4319
"captures": {
4320
"1": {
4321
"patterns": [
4322
{
4323
"include": "#inline_comment"
4324
}
4325
]
4326
},
4327
"2": {
4328
"patterns": [
4329
{
4330
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
4331
"captures": {
4332
"1": {
4333
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4334
},
4335
"2": {
4336
"name": "comment.block.cuda-cpp"
4337
},
4338
"3": {
4339
"patterns": [
4340
{
4341
"match": "\\*\\/",
4342
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4343
},
4344
{
4345
"match": "\\*",
4346
"name": "comment.block.cuda-cpp"
4347
}
4348
]
4349
}
4350
}
4351
}
4352
]
4353
},
4354
"3": {
4355
"name": "keyword.control.exception.$3.cuda-cpp"
4356
}
4357
}
4358
},
4359
"extern_block": {
4360
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(extern)(?=\\s*\\\")",
4361
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
4362
"beginCaptures": {
4363
"0": {
4364
"name": "meta.head.extern.cuda-cpp"
4365
},
4366
"1": {
4367
"patterns": [
4368
{
4369
"include": "#inline_comment"
4370
}
4371
]
4372
},
4373
"2": {
4374
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4375
},
4376
"3": {
4377
"name": "comment.block.cuda-cpp"
4378
},
4379
"4": {
4380
"patterns": [
4381
{
4382
"match": "\\*\\/",
4383
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4384
},
4385
{
4386
"match": "\\*",
4387
"name": "comment.block.cuda-cpp"
4388
}
4389
]
4390
},
4391
"5": {
4392
"name": "storage.type.extern.cuda-cpp"
4393
}
4394
},
4395
"endCaptures": {
4396
"1": {
4397
"name": "punctuation.terminator.statement.cuda-cpp"
4398
},
4399
"2": {
4400
"name": "punctuation.terminator.statement.cuda-cpp"
4401
}
4402
},
4403
"name": "meta.block.extern.cuda-cpp",
4404
"patterns": [
4405
{
4406
"begin": "\\G ?",
4407
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
4408
"beginCaptures": {},
4409
"endCaptures": {
4410
"0": {
4411
"name": "punctuation.section.block.begin.bracket.curly.extern.cuda-cpp"
4412
}
4413
},
4414
"name": "meta.head.extern.cuda-cpp",
4415
"patterns": [
4416
{
4417
"include": "$self"
4418
}
4419
]
4420
},
4421
{
4422
"begin": "(?<=\\{|<%|\\?\\?<)",
4423
"end": "\\}|%>|\\?\\?>",
4424
"beginCaptures": {},
4425
"endCaptures": {
4426
"0": {
4427
"name": "punctuation.section.block.end.bracket.curly.extern.cuda-cpp"
4428
}
4429
},
4430
"name": "meta.body.extern.cuda-cpp",
4431
"patterns": [
4432
{
4433
"include": "$self"
4434
}
4435
]
4436
},
4437
{
4438
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
4439
"end": "[\\s]*(?=;)",
4440
"beginCaptures": {},
4441
"endCaptures": {},
4442
"name": "meta.tail.extern.cuda-cpp",
4443
"patterns": [
4444
{
4445
"include": "$self"
4446
}
4447
]
4448
},
4449
{
4450
"include": "$self"
4451
}
4452
]
4453
},
4454
"function_body_context": {
4455
"patterns": [
4456
{
4457
"include": "#ever_present_context"
4458
},
4459
{
4460
"include": "#using_namespace"
4461
},
4462
{
4463
"include": "#type_alias"
4464
},
4465
{
4466
"include": "#using_name"
4467
},
4468
{
4469
"include": "#namespace_alias"
4470
},
4471
{
4472
"include": "#typedef_class"
4473
},
4474
{
4475
"include": "#typedef_struct"
4476
},
4477
{
4478
"include": "#typedef_union"
4479
},
4480
{
4481
"include": "#misc_keywords"
4482
},
4483
{
4484
"include": "#standard_declares"
4485
},
4486
{
4487
"include": "#class_block"
4488
},
4489
{
4490
"include": "#struct_block"
4491
},
4492
{
4493
"include": "#union_block"
4494
},
4495
{
4496
"include": "#enum_block"
4497
},
4498
{
4499
"include": "#access_control_keywords"
4500
},
4501
{
4502
"include": "#block"
4503
},
4504
{
4505
"include": "#static_assert"
4506
},
4507
{
4508
"include": "#assembly"
4509
},
4510
{
4511
"include": "#function_pointer"
4512
},
4513
{
4514
"include": "#switch_statement"
4515
},
4516
{
4517
"include": "#goto_statement"
4518
},
4519
{
4520
"include": "#evaluation_context"
4521
},
4522
{
4523
"include": "#label"
4524
}
4525
]
4526
},
4527
"function_call": {
4528
"begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\W__forceinline__|^__forceinline__|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wuint_fast64_t|^uint_fast64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wuint_fast8_t|^uint_fast8_t|\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__noinline__|^__noinline__|\\Wthread_local|^thread_local|\\Wsynchronized|^synchronized|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\W__managed__|^__managed__|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wulonglong1|^ulonglong1|\\Wulonglong2|^ulonglong2|\\Wulonglong3|^ulonglong3|\\Wulonglong4|^ulonglong4|\\W__shared__|^__shared__|\\W__global__|^__global__|\\W__device__|^__device__|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wlonglong1|^longlong1|\\Wlonglong2|^longlong2|\\Wlonglong3|^longlong3|\\Wlonglong4|^longlong4|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\WthreadIdx|^threadIdx|\\Wnamespace|^namespace|\\Wco_return|^co_return|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\W__host__|^__host__|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\WblockIdx|^blockIdx|\\WblockDim|^blockDim|\\WwarpSize|^warpSize|\\Wtemplate|^template|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Walignof|^alignof|\\Walignas|^alignas|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wu_short|^u_short|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wushort1|^ushort1|\\Wushort2|^ushort2|\\Wushort3|^ushort3|\\Wushort4|^ushort4|\\Wdouble1|^double1|\\Wdouble2|^double2|\\Wdouble3|^double3|\\Wdouble4|^double4|\\Wnullptr|^nullptr|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wprivate|^private|\\WgridDim|^gridDim|\\Wtypedef|^typedef|\\W__asm__|^__asm__|\\Wconcept|^concept|\\Wsizeof|^sizeof|\\Wdelete|^delete|\\Wnot_eq|^not_eq|\\Wbitand|^bitand|\\Wand_eq|^and_eq|\\Wxor_eq|^xor_eq|\\Wtypeid|^typeid|\\Wswitch|^switch|\\Wreturn|^return|\\Wsigned|^signed|\\Wdouble|^double|\\Wu_char|^u_char|\\Wu_long|^u_long|\\Wushort|^ushort|\\Wquad_t|^quad_t|\\Wmode_t|^mode_t|\\Wsize_t|^size_t|\\Wtime_t|^time_t|\\Wint8_t|^int8_t|\\Wuchar1|^uchar1|\\Wuchar2|^uchar2|\\Wuchar3|^uchar3|\\Wuchar4|^uchar4|\\Wshort1|^short1|\\Wshort2|^short2|\\Wshort3|^short3|\\Wshort4|^short4|\\Wulong4|^ulong4|\\Wulong1|^ulong1|\\Wulong2|^ulong2|\\Wulong3|^ulong3|\\Wulong4|^ulong4|\\Wfloat1|^float1|\\Wfloat2|^float2|\\Wfloat3|^float3|\\Wfloat4|^float4|\\Wstruct|^struct|\\Wstatic|^static|\\Wextern|^extern|\\Winline|^inline|\\Wfriend|^friend|\\Wpublic|^public|\\Wexport|^export|\\Wimport|^import|\\Wmodule|^module|\\Wcompl|^compl|\\Wbitor|^bitor|\\Wthrow|^throw|\\Wor_eq|^or_eq|\\Wwhile|^while|\\Wcatch|^catch|\\Wbreak|^break|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wchar1|^char1|\\Wchar2|^char2|\\Wchar3|^char3|\\Wchar4|^char4|\\Wuint1|^uint1|\\Wuint2|^uint2|\\Wuint3|^uint3|\\Wuint4|^uint4|\\Wlong1|^long1|\\Wlong2|^long2|\\Wlong3|^long3|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wconst|^const|\\Wusing|^using|\\Welse|^else|\\Wgoto|^goto|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wchar|^char|\\Wlong|^long|\\Wbool|^bool|\\Wuint|^uint|\\Wid_t|^id_t|\\Wid_t|^id_t|\\Wint1|^int1|\\Wint2|^int2|\\Wint3|^int3|\\Wint4|^int4|\\Wdim3|^dim3|\\WNULL|^NULL|\\Wtrue|^true|\\Wenum|^enum|\\Wthis|^this|\\Wnot|^not|\\Wnew|^new|\\Wxor|^xor|\\Wand|^and|\\Wfor|^for|\\Wtry|^try|\\Wint|^int|\\Wasm|^asm|\\Wor|^or|\\Wdo|^do|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?(\\()",
4529
"end": "\\)",
4530
"beginCaptures": {
4531
"1": {
4532
"patterns": [
4533
{
4534
"include": "#scope_resolution_function_call_inner_generated"
4535
}
4536
]
4537
},
4538
"2": {
4539
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"
4540
},
4541
"3": {
4542
"patterns": [
4543
{
4544
"include": "#template_call_range"
4545
}
4546
]
4547
},
4548
"4": {},
4549
"5": {
4550
"name": "entity.name.function.call.cuda-cpp"
4551
},
4552
"6": {
4553
"patterns": [
4554
{
4555
"include": "#inline_comment"
4556
}
4557
]
4558
},
4559
"7": {
4560
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4561
},
4562
"8": {
4563
"name": "comment.block.cuda-cpp"
4564
},
4565
"9": {
4566
"patterns": [
4567
{
4568
"match": "\\*\\/",
4569
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4570
},
4571
{
4572
"match": "\\*",
4573
"name": "comment.block.cuda-cpp"
4574
}
4575
]
4576
},
4577
"10": {
4578
"name": "meta.template.call.cuda-cpp",
4579
"patterns": [
4580
{
4581
"include": "#template_call_range"
4582
}
4583
]
4584
},
4585
"11": {},
4586
"12": {
4587
"name": "punctuation.section.arguments.begin.bracket.round.function.call.cuda-cpp"
4588
}
4589
},
4590
"endCaptures": {
4591
"0": {
4592
"name": "punctuation.section.arguments.end.bracket.round.function.call.cuda-cpp"
4593
}
4594
},
4595
"patterns": [
4596
{
4597
"include": "#evaluation_context"
4598
}
4599
]
4600
},
4601
"function_definition": {
4602
"begin": "(?:(?:^|\\G|(?<=;|\\}))|(?<=>))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)template(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<60>?)+>)(?:\\s)*+)?::)*\\s*+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)\\b(?<!\\Wreinterpret_cast|^reinterpret_cast|\\W__forceinline__|^__forceinline__|\\Watomic_noexcept|^atomic_noexcept|\\Wuint_least16_t|^uint_least16_t|\\Wuint_least32_t|^uint_least32_t|\\Wuint_least64_t|^uint_least64_t|\\Wint_least16_t|^int_least16_t|\\Wint_least32_t|^int_least32_t|\\Wint_least64_t|^int_least64_t|\\Wuint_least8_t|^uint_least8_t|\\Wuint_fast16_t|^uint_fast16_t|\\Wuint_fast32_t|^uint_fast32_t|\\Wuint_fast64_t|^uint_fast64_t|\\Watomic_cancel|^atomic_cancel|\\Watomic_commit|^atomic_commit|\\Wdynamic_cast|^dynamic_cast|\\Wint_least8_t|^int_least8_t|\\Wint_fast16_t|^int_fast16_t|\\Wint_fast32_t|^int_fast32_t|\\Wint_fast64_t|^int_fast64_t|\\Wuint_fast8_t|^uint_fast8_t|\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__noinline__|^__noinline__|\\Wthread_local|^thread_local|\\Wsynchronized|^synchronized|\\Wstatic_cast|^static_cast|\\Wsuseconds_t|^suseconds_t|\\Wint_fast8_t|^int_fast8_t|\\W__managed__|^__managed__|\\Wconst_cast|^const_cast|\\Wuseconds_t|^useconds_t|\\Wulonglong1|^ulonglong1|\\Wulonglong2|^ulonglong2|\\Wulonglong3|^ulonglong3|\\Wulonglong4|^ulonglong4|\\W__shared__|^__shared__|\\W__global__|^__global__|\\W__device__|^__device__|\\Wco_return|^co_return|\\Wblksize_t|^blksize_t|\\Win_addr_t|^in_addr_t|\\Win_port_t|^in_port_t|\\Wuintptr_t|^uintptr_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wuintmax_t|^uintmax_t|\\Wlonglong1|^longlong1|\\Wlonglong2|^longlong2|\\Wlonglong3|^longlong3|\\Wlonglong4|^longlong4|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconstexpr|^constexpr|\\Wconsteval|^consteval|\\Wprotected|^protected|\\WthreadIdx|^threadIdx|\\Wnamespace|^namespace|\\Wco_return|^co_return|\\Wnoexcept|^noexcept|\\Wnoexcept|^noexcept|\\Wcontinue|^continue|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wunsigned|^unsigned|\\Wu_quad_t|^u_quad_t|\\Wblkcnt_t|^blkcnt_t|\\Wuint16_t|^uint16_t|\\Wuint32_t|^uint32_t|\\Wuint64_t|^uint64_t|\\Wintptr_t|^intptr_t|\\Wintmax_t|^intmax_t|\\Wintmax_t|^intmax_t|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wexplicit|^explicit|\\W__host__|^__host__|\\Wvolatile|^volatile|\\Wnoexcept|^noexcept|\\WblockIdx|^blockIdx|\\WblockDim|^blockDim|\\WwarpSize|^warpSize|\\Wtemplate|^template|\\Woperator|^operator|\\Wdecltype|^decltype|\\Wtypename|^typename|\\Wrequires|^requires|\\Wco_await|^co_await|\\Wco_yield|^co_yield|\\Wreflexpr|^reflexpr|\\Walignof|^alignof|\\Walignas|^alignas|\\Wdefault|^default|\\Wwchar_t|^wchar_t|\\Wu_short|^u_short|\\Wqaddr_t|^qaddr_t|\\Wcaddr_t|^caddr_t|\\Wdaddr_t|^daddr_t|\\Wfixpt_t|^fixpt_t|\\Wnlink_t|^nlink_t|\\Wsegsz_t|^segsz_t|\\Wswblk_t|^swblk_t|\\Wclock_t|^clock_t|\\Wssize_t|^ssize_t|\\Wint16_t|^int16_t|\\Wint32_t|^int32_t|\\Wint64_t|^int64_t|\\Wuint8_t|^uint8_t|\\Wushort1|^ushort1|\\Wushort2|^ushort2|\\Wushort3|^ushort3|\\Wushort4|^ushort4|\\Wdouble1|^double1|\\Wdouble2|^double2|\\Wdouble3|^double3|\\Wdouble4|^double4|\\Wnullptr|^nullptr|\\Wmutable|^mutable|\\Wvirtual|^virtual|\\Wmutable|^mutable|\\Wprivate|^private|\\WgridDim|^gridDim|\\Wtypedef|^typedef|\\W__asm__|^__asm__|\\Wconcept|^concept|\\Wsizeof|^sizeof|\\Wdelete|^delete|\\Wnot_eq|^not_eq|\\Wbitand|^bitand|\\Wand_eq|^and_eq|\\Wxor_eq|^xor_eq|\\Wtypeid|^typeid|\\Wswitch|^switch|\\Wreturn|^return|\\Wsigned|^signed|\\Wdouble|^double|\\Wu_char|^u_char|\\Wu_long|^u_long|\\Wushort|^ushort|\\Wquad_t|^quad_t|\\Wmode_t|^mode_t|\\Wsize_t|^size_t|\\Wtime_t|^time_t|\\Wint8_t|^int8_t|\\Wuchar1|^uchar1|\\Wuchar2|^uchar2|\\Wuchar3|^uchar3|\\Wuchar4|^uchar4|\\Wshort1|^short1|\\Wshort2|^short2|\\Wshort3|^short3|\\Wshort4|^short4|\\Wulong4|^ulong4|\\Wulong1|^ulong1|\\Wulong2|^ulong2|\\Wulong3|^ulong3|\\Wulong4|^ulong4|\\Wfloat1|^float1|\\Wfloat2|^float2|\\Wfloat3|^float3|\\Wfloat4|^float4|\\Wstruct|^struct|\\Wstatic|^static|\\Wextern|^extern|\\Winline|^inline|\\Wfriend|^friend|\\Wpublic|^public|\\Wexport|^export|\\Wimport|^import|\\Wmodule|^module|\\Wcompl|^compl|\\Wbitor|^bitor|\\Wthrow|^throw|\\Wor_eq|^or_eq|\\Wwhile|^while|\\Wcatch|^catch|\\Wbreak|^break|\\Wshort|^short|\\Wfloat|^float|\\Wu_int|^u_int|\\Wdiv_t|^div_t|\\Wdev_t|^dev_t|\\Wgid_t|^gid_t|\\Wino_t|^ino_t|\\Wkey_t|^key_t|\\Wpid_t|^pid_t|\\Woff_t|^off_t|\\Wuid_t|^uid_t|\\Wchar1|^char1|\\Wchar2|^char2|\\Wchar3|^char3|\\Wchar4|^char4|\\Wuint1|^uint1|\\Wuint2|^uint2|\\Wuint3|^uint3|\\Wuint4|^uint4|\\Wlong1|^long1|\\Wlong2|^long2|\\Wlong3|^long3|\\Wfalse|^false|\\Wclass|^class|\\Wunion|^union|\\Wconst|^const|\\Wconst|^const|\\Wusing|^using|\\Welse|^else|\\Wgoto|^goto|\\Wcase|^case|\\Wauto|^auto|\\Wvoid|^void|\\Wchar|^char|\\Wlong|^long|\\Wbool|^bool|\\Wuint|^uint|\\Wid_t|^id_t|\\Wid_t|^id_t|\\Wint1|^int1|\\Wint2|^int2|\\Wint3|^int3|\\Wint4|^int4|\\Wdim3|^dim3|\\WNULL|^NULL|\\Wtrue|^true|\\Wenum|^enum|\\Wthis|^this|\\Wnot|^not|\\Wnew|^new|\\Wxor|^xor|\\Wand|^and|\\Wfor|^for|\\Wtry|^try|\\Wint|^int|\\Wasm|^asm|\\Wor|^or|\\Wdo|^do|\\Wif|^if)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\()",
4603
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
4604
"beginCaptures": {
4605
"0": {
4606
"name": "meta.head.function.definition.cuda-cpp"
4607
},
4608
"1": {
4609
"patterns": [
4610
{
4611
"include": "#inline_comment"
4612
}
4613
]
4614
},
4615
"2": {
4616
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4617
},
4618
"3": {
4619
"name": "comment.block.cuda-cpp"
4620
},
4621
"4": {
4622
"patterns": [
4623
{
4624
"match": "\\*\\/",
4625
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4626
},
4627
{
4628
"match": "\\*",
4629
"name": "comment.block.cuda-cpp"
4630
}
4631
]
4632
},
4633
"5": {
4634
"name": "storage.type.template.cuda-cpp"
4635
},
4636
"6": {
4637
"patterns": [
4638
{
4639
"include": "#inline_comment"
4640
}
4641
]
4642
},
4643
"7": {
4644
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4645
},
4646
"8": {
4647
"name": "comment.block.cuda-cpp"
4648
},
4649
"9": {
4650
"patterns": [
4651
{
4652
"match": "\\*\\/",
4653
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4654
},
4655
{
4656
"match": "\\*",
4657
"name": "comment.block.cuda-cpp"
4658
}
4659
]
4660
},
4661
"10": {
4662
"patterns": [
4663
{
4664
"include": "#attributes_context"
4665
},
4666
{
4667
"include": "#number_literal"
4668
}
4669
]
4670
},
4671
"11": {
4672
"patterns": [
4673
{
4674
"match": "((?<!\\w)(?:(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))|(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
4675
"captures": {
4676
"1": {
4677
"name": "storage.modifier.$1.cuda-cpp"
4678
},
4679
"2": {
4680
"patterns": [
4681
{
4682
"include": "#inline_comment"
4683
}
4684
]
4685
},
4686
"3": {
4687
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4688
},
4689
"4": {
4690
"name": "comment.block.cuda-cpp"
4691
},
4692
"5": {
4693
"patterns": [
4694
{
4695
"match": "\\*\\/",
4696
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4697
},
4698
{
4699
"match": "\\*",
4700
"name": "comment.block.cuda-cpp"
4701
}
4702
]
4703
}
4704
}
4705
}
4706
]
4707
},
4708
"12": {
4709
"name": "storage.modifier.$12.cuda-cpp"
4710
},
4711
"13": {
4712
"patterns": [
4713
{
4714
"include": "#inline_comment"
4715
}
4716
]
4717
},
4718
"14": {
4719
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4720
},
4721
"15": {
4722
"name": "comment.block.cuda-cpp"
4723
},
4724
"16": {
4725
"patterns": [
4726
{
4727
"match": "\\*\\/",
4728
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4729
},
4730
{
4731
"match": "\\*",
4732
"name": "comment.block.cuda-cpp"
4733
}
4734
]
4735
},
4736
"17": {
4737
"name": "meta.qualified_type.cuda-cpp",
4738
"patterns": [
4739
{
4740
"match": "::",
4741
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
4742
},
4743
{
4744
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
4745
"name": "storage.type.$0.cuda-cpp"
4746
},
4747
{
4748
"include": "#attributes_context"
4749
},
4750
{
4751
"include": "#storage_types"
4752
},
4753
{
4754
"include": "#number_literal"
4755
},
4756
{
4757
"include": "#string_context"
4758
},
4759
{
4760
"include": "#comma"
4761
},
4762
{
4763
"include": "#scope_resolution_inner_generated"
4764
},
4765
{
4766
"begin": "<",
4767
"end": ">",
4768
"beginCaptures": {
4769
"0": {
4770
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
4771
}
4772
},
4773
"endCaptures": {
4774
"0": {
4775
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
4776
}
4777
},
4778
"name": "meta.template.call.cuda-cpp",
4779
"patterns": [
4780
{
4781
"include": "#template_call_context"
4782
}
4783
]
4784
},
4785
{
4786
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
4787
"name": "entity.name.type.cuda-cpp"
4788
}
4789
]
4790
},
4791
"18": {
4792
"patterns": [
4793
{
4794
"include": "#attributes_context"
4795
},
4796
{
4797
"include": "#number_literal"
4798
}
4799
]
4800
},
4801
"19": {
4802
"patterns": [
4803
{
4804
"include": "#inline_comment"
4805
}
4806
]
4807
},
4808
"20": {
4809
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4810
},
4811
"21": {
4812
"name": "comment.block.cuda-cpp"
4813
},
4814
"22": {
4815
"patterns": [
4816
{
4817
"match": "\\*\\/",
4818
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4819
},
4820
{
4821
"match": "\\*",
4822
"name": "comment.block.cuda-cpp"
4823
}
4824
]
4825
},
4826
"23": {
4827
"patterns": [
4828
{
4829
"include": "#inline_comment"
4830
}
4831
]
4832
},
4833
"24": {
4834
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4835
},
4836
"25": {
4837
"name": "comment.block.cuda-cpp"
4838
},
4839
"26": {
4840
"patterns": [
4841
{
4842
"match": "\\*\\/",
4843
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4844
},
4845
{
4846
"match": "\\*",
4847
"name": "comment.block.cuda-cpp"
4848
}
4849
]
4850
},
4851
"27": {
4852
"patterns": [
4853
{
4854
"match": "::",
4855
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
4856
},
4857
{
4858
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
4859
"name": "entity.name.scope-resolution.type.cuda-cpp"
4860
},
4861
{
4862
"include": "#template_call_range"
4863
}
4864
]
4865
},
4866
"28": {
4867
"patterns": [
4868
{
4869
"include": "#template_call_range"
4870
}
4871
]
4872
},
4873
"29": {},
4874
"30": {
4875
"patterns": [
4876
{
4877
"include": "#inline_comment"
4878
}
4879
]
4880
},
4881
"31": {
4882
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4883
},
4884
"32": {
4885
"name": "comment.block.cuda-cpp"
4886
},
4887
"33": {
4888
"patterns": [
4889
{
4890
"match": "\\*\\/",
4891
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4892
},
4893
{
4894
"match": "\\*",
4895
"name": "comment.block.cuda-cpp"
4896
}
4897
]
4898
},
4899
"34": {},
4900
"35": {
4901
"patterns": [
4902
{
4903
"match": "\\*",
4904
"name": "storage.modifier.pointer.cuda-cpp"
4905
},
4906
{
4907
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
4908
"captures": {
4909
"1": {
4910
"patterns": [
4911
{
4912
"include": "#inline_comment"
4913
}
4914
]
4915
},
4916
"2": {
4917
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4918
},
4919
"3": {
4920
"name": "comment.block.cuda-cpp"
4921
},
4922
"4": {
4923
"patterns": [
4924
{
4925
"match": "\\*\\/",
4926
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4927
},
4928
{
4929
"match": "\\*",
4930
"name": "comment.block.cuda-cpp"
4931
}
4932
]
4933
}
4934
},
4935
"name": "invalid.illegal.reference-type.cuda-cpp"
4936
},
4937
{
4938
"match": "\\&",
4939
"name": "storage.modifier.reference.cuda-cpp"
4940
}
4941
]
4942
},
4943
"36": {
4944
"patterns": [
4945
{
4946
"include": "#inline_comment"
4947
}
4948
]
4949
},
4950
"37": {
4951
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4952
},
4953
"38": {
4954
"name": "comment.block.cuda-cpp"
4955
},
4956
"39": {
4957
"patterns": [
4958
{
4959
"match": "\\*\\/",
4960
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4961
},
4962
{
4963
"match": "\\*",
4964
"name": "comment.block.cuda-cpp"
4965
}
4966
]
4967
},
4968
"40": {
4969
"patterns": [
4970
{
4971
"include": "#inline_comment"
4972
}
4973
]
4974
},
4975
"41": {
4976
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
4977
},
4978
"42": {
4979
"name": "comment.block.cuda-cpp"
4980
},
4981
"43": {
4982
"patterns": [
4983
{
4984
"match": "\\*\\/",
4985
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
4986
},
4987
{
4988
"match": "\\*",
4989
"name": "comment.block.cuda-cpp"
4990
}
4991
]
4992
},
4993
"44": {
4994
"patterns": [
4995
{
4996
"include": "#inline_comment"
4997
}
4998
]
4999
},
5000
"45": {
5001
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5002
},
5003
"46": {
5004
"name": "comment.block.cuda-cpp"
5005
},
5006
"47": {
5007
"patterns": [
5008
{
5009
"match": "\\*\\/",
5010
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5011
},
5012
{
5013
"match": "\\*",
5014
"name": "comment.block.cuda-cpp"
5015
}
5016
]
5017
},
5018
"48": {
5019
"patterns": [
5020
{
5021
"include": "#inline_comment"
5022
}
5023
]
5024
},
5025
"49": {
5026
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5027
},
5028
"50": {
5029
"name": "comment.block.cuda-cpp"
5030
},
5031
"51": {
5032
"patterns": [
5033
{
5034
"match": "\\*\\/",
5035
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5036
},
5037
{
5038
"match": "\\*",
5039
"name": "comment.block.cuda-cpp"
5040
}
5041
]
5042
},
5043
"52": {
5044
"name": "storage.type.modifier.calling-convention.cuda-cpp"
5045
},
5046
"53": {
5047
"patterns": [
5048
{
5049
"include": "#inline_comment"
5050
}
5051
]
5052
},
5053
"54": {
5054
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5055
},
5056
"55": {
5057
"name": "comment.block.cuda-cpp"
5058
},
5059
"56": {
5060
"patterns": [
5061
{
5062
"match": "\\*\\/",
5063
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5064
},
5065
{
5066
"match": "\\*",
5067
"name": "comment.block.cuda-cpp"
5068
}
5069
]
5070
},
5071
"57": {
5072
"patterns": [
5073
{
5074
"include": "#scope_resolution_function_definition_inner_generated"
5075
}
5076
]
5077
},
5078
"58": {
5079
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"
5080
},
5081
"59": {
5082
"patterns": [
5083
{
5084
"include": "#template_call_range"
5085
}
5086
]
5087
},
5088
"60": {},
5089
"61": {
5090
"name": "entity.name.function.definition.cuda-cpp"
5091
},
5092
"62": {
5093
"patterns": [
5094
{
5095
"include": "#inline_comment"
5096
}
5097
]
5098
},
5099
"63": {
5100
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5101
},
5102
"64": {
5103
"name": "comment.block.cuda-cpp"
5104
},
5105
"65": {
5106
"patterns": [
5107
{
5108
"match": "\\*\\/",
5109
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5110
},
5111
{
5112
"match": "\\*",
5113
"name": "comment.block.cuda-cpp"
5114
}
5115
]
5116
}
5117
},
5118
"endCaptures": {},
5119
"name": "meta.function.definition.cuda-cpp",
5120
"patterns": [
5121
{
5122
"begin": "\\G ?",
5123
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
5124
"beginCaptures": {},
5125
"endCaptures": {
5126
"0": {
5127
"name": "punctuation.section.block.begin.bracket.curly.function.definition.cuda-cpp"
5128
}
5129
},
5130
"name": "meta.head.function.definition.cuda-cpp",
5131
"patterns": [
5132
{
5133
"include": "#ever_present_context"
5134
},
5135
{
5136
"begin": "\\(",
5137
"end": "\\)",
5138
"beginCaptures": {
5139
"0": {
5140
"name": "punctuation.section.parameters.begin.bracket.round.cuda-cpp"
5141
}
5142
},
5143
"endCaptures": {
5144
"0": {
5145
"name": "punctuation.section.parameters.end.bracket.round.cuda-cpp"
5146
}
5147
},
5148
"contentName": "meta.function.definition.parameters",
5149
"patterns": [
5150
{
5151
"include": "#ever_present_context"
5152
},
5153
{
5154
"include": "#parameter_or_maybe_value"
5155
},
5156
{
5157
"include": "#comma"
5158
},
5159
{
5160
"include": "#evaluation_context"
5161
}
5162
]
5163
},
5164
{
5165
"match": "(?<=^|\\))(?:(?:\\s)+)?(->)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<23>?)+>)?(?![\\w<:.]))",
5166
"captures": {
5167
"1": {
5168
"name": "punctuation.definition.function.return-type.cuda-cpp"
5169
},
5170
"2": {
5171
"patterns": [
5172
{
5173
"include": "#inline_comment"
5174
}
5175
]
5176
},
5177
"3": {
5178
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5179
},
5180
"4": {
5181
"name": "comment.block.cuda-cpp"
5182
},
5183
"5": {
5184
"patterns": [
5185
{
5186
"match": "\\*\\/",
5187
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5188
},
5189
{
5190
"match": "\\*",
5191
"name": "comment.block.cuda-cpp"
5192
}
5193
]
5194
},
5195
"6": {
5196
"name": "meta.qualified_type.cuda-cpp",
5197
"patterns": [
5198
{
5199
"match": "::",
5200
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
5201
},
5202
{
5203
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5204
"name": "storage.type.$0.cuda-cpp"
5205
},
5206
{
5207
"include": "#attributes_context"
5208
},
5209
{
5210
"include": "#storage_types"
5211
},
5212
{
5213
"include": "#number_literal"
5214
},
5215
{
5216
"include": "#string_context"
5217
},
5218
{
5219
"include": "#comma"
5220
},
5221
{
5222
"include": "#scope_resolution_inner_generated"
5223
},
5224
{
5225
"begin": "<",
5226
"end": ">",
5227
"beginCaptures": {
5228
"0": {
5229
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
5230
}
5231
},
5232
"endCaptures": {
5233
"0": {
5234
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
5235
}
5236
},
5237
"name": "meta.template.call.cuda-cpp",
5238
"patterns": [
5239
{
5240
"include": "#template_call_context"
5241
}
5242
]
5243
},
5244
{
5245
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
5246
"name": "entity.name.type.cuda-cpp"
5247
}
5248
]
5249
},
5250
"7": {
5251
"patterns": [
5252
{
5253
"include": "#attributes_context"
5254
},
5255
{
5256
"include": "#number_literal"
5257
}
5258
]
5259
},
5260
"8": {
5261
"patterns": [
5262
{
5263
"include": "#inline_comment"
5264
}
5265
]
5266
},
5267
"9": {
5268
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5269
},
5270
"10": {
5271
"name": "comment.block.cuda-cpp"
5272
},
5273
"11": {
5274
"patterns": [
5275
{
5276
"match": "\\*\\/",
5277
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5278
},
5279
{
5280
"match": "\\*",
5281
"name": "comment.block.cuda-cpp"
5282
}
5283
]
5284
},
5285
"12": {
5286
"patterns": [
5287
{
5288
"include": "#inline_comment"
5289
}
5290
]
5291
},
5292
"13": {
5293
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5294
},
5295
"14": {
5296
"name": "comment.block.cuda-cpp"
5297
},
5298
"15": {
5299
"patterns": [
5300
{
5301
"match": "\\*\\/",
5302
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5303
},
5304
{
5305
"match": "\\*",
5306
"name": "comment.block.cuda-cpp"
5307
}
5308
]
5309
},
5310
"16": {
5311
"patterns": [
5312
{
5313
"match": "::",
5314
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
5315
},
5316
{
5317
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5318
"name": "entity.name.scope-resolution.type.cuda-cpp"
5319
},
5320
{
5321
"include": "#template_call_range"
5322
}
5323
]
5324
},
5325
"17": {
5326
"patterns": [
5327
{
5328
"include": "#template_call_range"
5329
}
5330
]
5331
},
5332
"18": {},
5333
"19": {
5334
"patterns": [
5335
{
5336
"include": "#inline_comment"
5337
}
5338
]
5339
},
5340
"20": {
5341
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5342
},
5343
"21": {
5344
"name": "comment.block.cuda-cpp"
5345
},
5346
"22": {
5347
"patterns": [
5348
{
5349
"match": "\\*\\/",
5350
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5351
},
5352
{
5353
"match": "\\*",
5354
"name": "comment.block.cuda-cpp"
5355
}
5356
]
5357
},
5358
"23": {}
5359
}
5360
},
5361
{
5362
"include": "$self"
5363
}
5364
]
5365
},
5366
{
5367
"begin": "(?<=\\{|<%|\\?\\?<)",
5368
"end": "\\}|%>|\\?\\?>",
5369
"beginCaptures": {},
5370
"endCaptures": {
5371
"0": {
5372
"name": "punctuation.section.block.end.bracket.curly.function.definition.cuda-cpp"
5373
}
5374
},
5375
"name": "meta.body.function.definition.cuda-cpp",
5376
"patterns": [
5377
{
5378
"include": "#function_body_context"
5379
}
5380
]
5381
},
5382
{
5383
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
5384
"end": "[\\s]*(?=;)",
5385
"beginCaptures": {},
5386
"endCaptures": {},
5387
"name": "meta.tail.function.definition.cuda-cpp",
5388
"patterns": [
5389
{
5390
"include": "$self"
5391
}
5392
]
5393
}
5394
]
5395
},
5396
"function_parameter_context": {
5397
"patterns": [
5398
{
5399
"include": "#ever_present_context"
5400
},
5401
{
5402
"include": "#parameter"
5403
},
5404
{
5405
"include": "#comma"
5406
}
5407
]
5408
},
5409
"function_pointer": {
5410
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
5411
"end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
5412
"beginCaptures": {
5413
"1": {
5414
"name": "meta.qualified_type.cuda-cpp",
5415
"patterns": [
5416
{
5417
"match": "::",
5418
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
5419
},
5420
{
5421
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5422
"name": "storage.type.$0.cuda-cpp"
5423
},
5424
{
5425
"include": "#attributes_context"
5426
},
5427
{
5428
"include": "#storage_types"
5429
},
5430
{
5431
"include": "#number_literal"
5432
},
5433
{
5434
"include": "#string_context"
5435
},
5436
{
5437
"include": "#comma"
5438
},
5439
{
5440
"include": "#scope_resolution_inner_generated"
5441
},
5442
{
5443
"begin": "<",
5444
"end": ">",
5445
"beginCaptures": {
5446
"0": {
5447
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
5448
}
5449
},
5450
"endCaptures": {
5451
"0": {
5452
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
5453
}
5454
},
5455
"name": "meta.template.call.cuda-cpp",
5456
"patterns": [
5457
{
5458
"include": "#template_call_context"
5459
}
5460
]
5461
},
5462
{
5463
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
5464
"name": "entity.name.type.cuda-cpp"
5465
}
5466
]
5467
},
5468
"2": {
5469
"patterns": [
5470
{
5471
"include": "#attributes_context"
5472
},
5473
{
5474
"include": "#number_literal"
5475
}
5476
]
5477
},
5478
"3": {
5479
"patterns": [
5480
{
5481
"include": "#inline_comment"
5482
}
5483
]
5484
},
5485
"4": {
5486
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5487
},
5488
"5": {
5489
"name": "comment.block.cuda-cpp"
5490
},
5491
"6": {
5492
"patterns": [
5493
{
5494
"match": "\\*\\/",
5495
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5496
},
5497
{
5498
"match": "\\*",
5499
"name": "comment.block.cuda-cpp"
5500
}
5501
]
5502
},
5503
"7": {
5504
"patterns": [
5505
{
5506
"include": "#inline_comment"
5507
}
5508
]
5509
},
5510
"8": {
5511
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5512
},
5513
"9": {
5514
"name": "comment.block.cuda-cpp"
5515
},
5516
"10": {
5517
"patterns": [
5518
{
5519
"match": "\\*\\/",
5520
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5521
},
5522
{
5523
"match": "\\*",
5524
"name": "comment.block.cuda-cpp"
5525
}
5526
]
5527
},
5528
"11": {
5529
"patterns": [
5530
{
5531
"match": "::",
5532
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
5533
},
5534
{
5535
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5536
"name": "entity.name.scope-resolution.type.cuda-cpp"
5537
},
5538
{
5539
"include": "#template_call_range"
5540
}
5541
]
5542
},
5543
"12": {
5544
"patterns": [
5545
{
5546
"include": "#template_call_range"
5547
}
5548
]
5549
},
5550
"13": {},
5551
"14": {
5552
"patterns": [
5553
{
5554
"include": "#inline_comment"
5555
}
5556
]
5557
},
5558
"15": {
5559
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5560
},
5561
"16": {
5562
"name": "comment.block.cuda-cpp"
5563
},
5564
"17": {
5565
"patterns": [
5566
{
5567
"match": "\\*\\/",
5568
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5569
},
5570
{
5571
"match": "\\*",
5572
"name": "comment.block.cuda-cpp"
5573
}
5574
]
5575
},
5576
"18": {},
5577
"19": {
5578
"patterns": [
5579
{
5580
"match": "\\*",
5581
"name": "storage.modifier.pointer.cuda-cpp"
5582
},
5583
{
5584
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
5585
"captures": {
5586
"1": {
5587
"patterns": [
5588
{
5589
"include": "#inline_comment"
5590
}
5591
]
5592
},
5593
"2": {
5594
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5595
},
5596
"3": {
5597
"name": "comment.block.cuda-cpp"
5598
},
5599
"4": {
5600
"patterns": [
5601
{
5602
"match": "\\*\\/",
5603
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5604
},
5605
{
5606
"match": "\\*",
5607
"name": "comment.block.cuda-cpp"
5608
}
5609
]
5610
}
5611
},
5612
"name": "invalid.illegal.reference-type.cuda-cpp"
5613
},
5614
{
5615
"match": "\\&",
5616
"name": "storage.modifier.reference.cuda-cpp"
5617
}
5618
]
5619
},
5620
"20": {
5621
"patterns": [
5622
{
5623
"include": "#inline_comment"
5624
}
5625
]
5626
},
5627
"21": {
5628
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5629
},
5630
"22": {
5631
"name": "comment.block.cuda-cpp"
5632
},
5633
"23": {
5634
"patterns": [
5635
{
5636
"match": "\\*\\/",
5637
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5638
},
5639
{
5640
"match": "\\*",
5641
"name": "comment.block.cuda-cpp"
5642
}
5643
]
5644
},
5645
"24": {
5646
"patterns": [
5647
{
5648
"include": "#inline_comment"
5649
}
5650
]
5651
},
5652
"25": {
5653
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5654
},
5655
"26": {
5656
"name": "comment.block.cuda-cpp"
5657
},
5658
"27": {
5659
"patterns": [
5660
{
5661
"match": "\\*\\/",
5662
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5663
},
5664
{
5665
"match": "\\*",
5666
"name": "comment.block.cuda-cpp"
5667
}
5668
]
5669
},
5670
"28": {
5671
"patterns": [
5672
{
5673
"include": "#inline_comment"
5674
}
5675
]
5676
},
5677
"29": {
5678
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5679
},
5680
"30": {
5681
"name": "comment.block.cuda-cpp"
5682
},
5683
"31": {
5684
"patterns": [
5685
{
5686
"match": "\\*\\/",
5687
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5688
},
5689
{
5690
"match": "\\*",
5691
"name": "comment.block.cuda-cpp"
5692
}
5693
]
5694
},
5695
"32": {
5696
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp"
5697
},
5698
"33": {
5699
"name": "punctuation.definition.function.pointer.dereference.cuda-cpp"
5700
},
5701
"34": {
5702
"name": "variable.other.definition.pointer.function.cuda-cpp"
5703
},
5704
"35": {
5705
"name": "punctuation.definition.begin.bracket.square.cuda-cpp"
5706
},
5707
"36": {
5708
"patterns": [
5709
{
5710
"include": "#evaluation_context"
5711
}
5712
]
5713
},
5714
"37": {
5715
"name": "punctuation.definition.end.bracket.square.cuda-cpp"
5716
},
5717
"38": {
5718
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp"
5719
},
5720
"39": {
5721
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp"
5722
}
5723
},
5724
"endCaptures": {
5725
"1": {
5726
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp"
5727
},
5728
"2": {
5729
"patterns": [
5730
{
5731
"include": "#inline_comment"
5732
}
5733
]
5734
},
5735
"3": {
5736
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5737
},
5738
"4": {
5739
"name": "comment.block.cuda-cpp"
5740
},
5741
"5": {
5742
"patterns": [
5743
{
5744
"match": "\\*\\/",
5745
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5746
},
5747
{
5748
"match": "\\*",
5749
"name": "comment.block.cuda-cpp"
5750
}
5751
]
5752
}
5753
},
5754
"patterns": [
5755
{
5756
"include": "#function_parameter_context"
5757
}
5758
]
5759
},
5760
"function_pointer_parameter": {
5761
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
5762
"end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
5763
"beginCaptures": {
5764
"1": {
5765
"name": "meta.qualified_type.cuda-cpp",
5766
"patterns": [
5767
{
5768
"match": "::",
5769
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
5770
},
5771
{
5772
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
5773
"name": "storage.type.$0.cuda-cpp"
5774
},
5775
{
5776
"include": "#attributes_context"
5777
},
5778
{
5779
"include": "#storage_types"
5780
},
5781
{
5782
"include": "#number_literal"
5783
},
5784
{
5785
"include": "#string_context"
5786
},
5787
{
5788
"include": "#comma"
5789
},
5790
{
5791
"include": "#scope_resolution_inner_generated"
5792
},
5793
{
5794
"begin": "<",
5795
"end": ">",
5796
"beginCaptures": {
5797
"0": {
5798
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
5799
}
5800
},
5801
"endCaptures": {
5802
"0": {
5803
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
5804
}
5805
},
5806
"name": "meta.template.call.cuda-cpp",
5807
"patterns": [
5808
{
5809
"include": "#template_call_context"
5810
}
5811
]
5812
},
5813
{
5814
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
5815
"name": "entity.name.type.cuda-cpp"
5816
}
5817
]
5818
},
5819
"2": {
5820
"patterns": [
5821
{
5822
"include": "#attributes_context"
5823
},
5824
{
5825
"include": "#number_literal"
5826
}
5827
]
5828
},
5829
"3": {
5830
"patterns": [
5831
{
5832
"include": "#inline_comment"
5833
}
5834
]
5835
},
5836
"4": {
5837
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5838
},
5839
"5": {
5840
"name": "comment.block.cuda-cpp"
5841
},
5842
"6": {
5843
"patterns": [
5844
{
5845
"match": "\\*\\/",
5846
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5847
},
5848
{
5849
"match": "\\*",
5850
"name": "comment.block.cuda-cpp"
5851
}
5852
]
5853
},
5854
"7": {
5855
"patterns": [
5856
{
5857
"include": "#inline_comment"
5858
}
5859
]
5860
},
5861
"8": {
5862
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5863
},
5864
"9": {
5865
"name": "comment.block.cuda-cpp"
5866
},
5867
"10": {
5868
"patterns": [
5869
{
5870
"match": "\\*\\/",
5871
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5872
},
5873
{
5874
"match": "\\*",
5875
"name": "comment.block.cuda-cpp"
5876
}
5877
]
5878
},
5879
"11": {
5880
"patterns": [
5881
{
5882
"match": "::",
5883
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
5884
},
5885
{
5886
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
5887
"name": "entity.name.scope-resolution.type.cuda-cpp"
5888
},
5889
{
5890
"include": "#template_call_range"
5891
}
5892
]
5893
},
5894
"12": {
5895
"patterns": [
5896
{
5897
"include": "#template_call_range"
5898
}
5899
]
5900
},
5901
"13": {},
5902
"14": {
5903
"patterns": [
5904
{
5905
"include": "#inline_comment"
5906
}
5907
]
5908
},
5909
"15": {
5910
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5911
},
5912
"16": {
5913
"name": "comment.block.cuda-cpp"
5914
},
5915
"17": {
5916
"patterns": [
5917
{
5918
"match": "\\*\\/",
5919
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5920
},
5921
{
5922
"match": "\\*",
5923
"name": "comment.block.cuda-cpp"
5924
}
5925
]
5926
},
5927
"18": {},
5928
"19": {
5929
"patterns": [
5930
{
5931
"match": "\\*",
5932
"name": "storage.modifier.pointer.cuda-cpp"
5933
},
5934
{
5935
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
5936
"captures": {
5937
"1": {
5938
"patterns": [
5939
{
5940
"include": "#inline_comment"
5941
}
5942
]
5943
},
5944
"2": {
5945
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5946
},
5947
"3": {
5948
"name": "comment.block.cuda-cpp"
5949
},
5950
"4": {
5951
"patterns": [
5952
{
5953
"match": "\\*\\/",
5954
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5955
},
5956
{
5957
"match": "\\*",
5958
"name": "comment.block.cuda-cpp"
5959
}
5960
]
5961
}
5962
},
5963
"name": "invalid.illegal.reference-type.cuda-cpp"
5964
},
5965
{
5966
"match": "\\&",
5967
"name": "storage.modifier.reference.cuda-cpp"
5968
}
5969
]
5970
},
5971
"20": {
5972
"patterns": [
5973
{
5974
"include": "#inline_comment"
5975
}
5976
]
5977
},
5978
"21": {
5979
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
5980
},
5981
"22": {
5982
"name": "comment.block.cuda-cpp"
5983
},
5984
"23": {
5985
"patterns": [
5986
{
5987
"match": "\\*\\/",
5988
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
5989
},
5990
{
5991
"match": "\\*",
5992
"name": "comment.block.cuda-cpp"
5993
}
5994
]
5995
},
5996
"24": {
5997
"patterns": [
5998
{
5999
"include": "#inline_comment"
6000
}
6001
]
6002
},
6003
"25": {
6004
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6005
},
6006
"26": {
6007
"name": "comment.block.cuda-cpp"
6008
},
6009
"27": {
6010
"patterns": [
6011
{
6012
"match": "\\*\\/",
6013
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6014
},
6015
{
6016
"match": "\\*",
6017
"name": "comment.block.cuda-cpp"
6018
}
6019
]
6020
},
6021
"28": {
6022
"patterns": [
6023
{
6024
"include": "#inline_comment"
6025
}
6026
]
6027
},
6028
"29": {
6029
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6030
},
6031
"30": {
6032
"name": "comment.block.cuda-cpp"
6033
},
6034
"31": {
6035
"patterns": [
6036
{
6037
"match": "\\*\\/",
6038
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6039
},
6040
{
6041
"match": "\\*",
6042
"name": "comment.block.cuda-cpp"
6043
}
6044
]
6045
},
6046
"32": {
6047
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp"
6048
},
6049
"33": {
6050
"name": "punctuation.definition.function.pointer.dereference.cuda-cpp"
6051
},
6052
"34": {
6053
"name": "variable.parameter.pointer.function.cuda-cpp"
6054
},
6055
"35": {
6056
"name": "punctuation.definition.begin.bracket.square.cuda-cpp"
6057
},
6058
"36": {
6059
"patterns": [
6060
{
6061
"include": "#evaluation_context"
6062
}
6063
]
6064
},
6065
"37": {
6066
"name": "punctuation.definition.end.bracket.square.cuda-cpp"
6067
},
6068
"38": {
6069
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp"
6070
},
6071
"39": {
6072
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp"
6073
}
6074
},
6075
"endCaptures": {
6076
"1": {
6077
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp"
6078
},
6079
"2": {
6080
"patterns": [
6081
{
6082
"include": "#inline_comment"
6083
}
6084
]
6085
},
6086
"3": {
6087
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6088
},
6089
"4": {
6090
"name": "comment.block.cuda-cpp"
6091
},
6092
"5": {
6093
"patterns": [
6094
{
6095
"match": "\\*\\/",
6096
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6097
},
6098
{
6099
"match": "\\*",
6100
"name": "comment.block.cuda-cpp"
6101
}
6102
]
6103
}
6104
},
6105
"patterns": [
6106
{
6107
"include": "#function_parameter_context"
6108
}
6109
]
6110
},
6111
"functional_specifiers_pre_parameters": {
6112
"match": "(?<!\\w)(?:(?:__forceinline__)|(?:__noinline__)|(?:__global__)|(?:__device__)|(?:constexpr)|(?:explicit)|(?:__host__)|(?:mutable)|(?:virtual)|(?:inline)|(?:friend))(?!\\w)",
6113
"name": "storage.modifier.specifier.functional.pre-parameters.$0.cuda-cpp"
6114
},
6115
"gcc_attributes": {
6116
"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
6117
"end": "\\)\\s*\\)",
6118
"beginCaptures": {
6119
"0": {
6120
"name": "punctuation.section.attribute.begin.cuda-cpp"
6121
}
6122
},
6123
"endCaptures": {
6124
"0": {
6125
"name": "punctuation.section.attribute.end.cuda-cpp"
6126
}
6127
},
6128
"name": "support.other.attribute.cuda-cpp",
6129
"patterns": [
6130
{
6131
"include": "#attributes_context"
6132
},
6133
{
6134
"begin": "\\(",
6135
"end": "\\)",
6136
"beginCaptures": {},
6137
"endCaptures": {},
6138
"patterns": [
6139
{
6140
"include": "#attributes_context"
6141
},
6142
{
6143
"include": "#string_context"
6144
}
6145
]
6146
},
6147
{
6148
"match": "(using)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
6149
"captures": {
6150
"1": {
6151
"name": "keyword.other.using.directive.cuda-cpp"
6152
},
6153
"2": {
6154
"name": "entity.name.namespace.cuda-cpp"
6155
}
6156
}
6157
},
6158
{
6159
"match": ",",
6160
"name": "punctuation.separator.attribute.cuda-cpp"
6161
},
6162
{
6163
"match": ":",
6164
"name": "punctuation.accessor.attribute.cuda-cpp"
6165
},
6166
{
6167
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
6168
"name": "entity.name.namespace.cuda-cpp"
6169
},
6170
{
6171
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6172
"name": "entity.other.attribute.$0.cuda-cpp"
6173
},
6174
{
6175
"include": "#number_literal"
6176
}
6177
]
6178
},
6179
"goto_statement": {
6180
"match": "((?<!\\w)goto(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)",
6181
"captures": {
6182
"1": {
6183
"name": "keyword.control.goto.cuda-cpp"
6184
},
6185
"2": {
6186
"patterns": [
6187
{
6188
"include": "#inline_comment"
6189
}
6190
]
6191
},
6192
"3": {
6193
"patterns": [
6194
{
6195
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6196
"captures": {
6197
"1": {
6198
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6199
},
6200
"2": {
6201
"name": "comment.block.cuda-cpp"
6202
},
6203
"3": {
6204
"patterns": [
6205
{
6206
"match": "\\*\\/",
6207
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6208
},
6209
{
6210
"match": "\\*",
6211
"name": "comment.block.cuda-cpp"
6212
}
6213
]
6214
}
6215
}
6216
}
6217
]
6218
},
6219
"4": {
6220
"name": "entity.name.label.call.cuda-cpp"
6221
}
6222
}
6223
},
6224
"identifier": {
6225
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*"
6226
},
6227
"include": {
6228
"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((#)(?:(?:\\s)+)?((?:include|include_next))\\b)(?:(?:\\s)+)?(?:(?:(?:((<)[^>]*(>?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/)))|((\\\")[^\\\"]*((?:\\\")?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=\\/\\/))))|(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\.(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)*((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;)))))|((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:\\n)|$)|(?=(?:\\/\\/|;))))",
6229
"captures": {
6230
"1": {
6231
"patterns": [
6232
{
6233
"include": "#inline_comment"
6234
}
6235
]
6236
},
6237
"2": {
6238
"patterns": [
6239
{
6240
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6241
"captures": {
6242
"1": {
6243
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6244
},
6245
"2": {
6246
"name": "comment.block.cuda-cpp"
6247
},
6248
"3": {
6249
"patterns": [
6250
{
6251
"match": "\\*\\/",
6252
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6253
},
6254
{
6255
"match": "\\*",
6256
"name": "comment.block.cuda-cpp"
6257
}
6258
]
6259
}
6260
}
6261
}
6262
]
6263
},
6264
"3": {
6265
"name": "keyword.control.directive.$5.cuda-cpp"
6266
},
6267
"4": {
6268
"name": "punctuation.definition.directive.cuda-cpp"
6269
},
6270
"6": {
6271
"name": "string.quoted.other.lt-gt.include.cuda-cpp"
6272
},
6273
"7": {
6274
"name": "punctuation.definition.string.begin.cuda-cpp"
6275
},
6276
"8": {
6277
"name": "punctuation.definition.string.end.cuda-cpp"
6278
},
6279
"9": {
6280
"patterns": [
6281
{
6282
"include": "#inline_comment"
6283
}
6284
]
6285
},
6286
"10": {
6287
"patterns": [
6288
{
6289
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6290
"captures": {
6291
"1": {
6292
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6293
},
6294
"2": {
6295
"name": "comment.block.cuda-cpp"
6296
},
6297
"3": {
6298
"patterns": [
6299
{
6300
"match": "\\*\\/",
6301
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6302
},
6303
{
6304
"match": "\\*",
6305
"name": "comment.block.cuda-cpp"
6306
}
6307
]
6308
}
6309
}
6310
}
6311
]
6312
},
6313
"11": {
6314
"name": "string.quoted.double.include.cuda-cpp"
6315
},
6316
"12": {
6317
"name": "punctuation.definition.string.begin.cuda-cpp"
6318
},
6319
"13": {
6320
"name": "punctuation.definition.string.end.cuda-cpp"
6321
},
6322
"14": {
6323
"patterns": [
6324
{
6325
"include": "#inline_comment"
6326
}
6327
]
6328
},
6329
"15": {
6330
"patterns": [
6331
{
6332
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6333
"captures": {
6334
"1": {
6335
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6336
},
6337
"2": {
6338
"name": "comment.block.cuda-cpp"
6339
},
6340
"3": {
6341
"patterns": [
6342
{
6343
"match": "\\*\\/",
6344
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6345
},
6346
{
6347
"match": "\\*",
6348
"name": "comment.block.cuda-cpp"
6349
}
6350
]
6351
}
6352
}
6353
}
6354
]
6355
},
6356
"16": {
6357
"name": "entity.name.other.preprocessor.macro.include.cuda-cpp"
6358
},
6359
"17": {
6360
"patterns": [
6361
{
6362
"include": "#inline_comment"
6363
}
6364
]
6365
},
6366
"18": {
6367
"patterns": [
6368
{
6369
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6370
"captures": {
6371
"1": {
6372
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6373
},
6374
"2": {
6375
"name": "comment.block.cuda-cpp"
6376
},
6377
"3": {
6378
"patterns": [
6379
{
6380
"match": "\\*\\/",
6381
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6382
},
6383
{
6384
"match": "\\*",
6385
"name": "comment.block.cuda-cpp"
6386
}
6387
]
6388
}
6389
}
6390
}
6391
]
6392
},
6393
"19": {
6394
"patterns": [
6395
{
6396
"include": "#inline_comment"
6397
}
6398
]
6399
},
6400
"20": {
6401
"patterns": [
6402
{
6403
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6404
"captures": {
6405
"1": {
6406
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6407
},
6408
"2": {
6409
"name": "comment.block.cuda-cpp"
6410
},
6411
"3": {
6412
"patterns": [
6413
{
6414
"match": "\\*\\/",
6415
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6416
},
6417
{
6418
"match": "\\*",
6419
"name": "comment.block.cuda-cpp"
6420
}
6421
]
6422
}
6423
}
6424
}
6425
]
6426
},
6427
"21": {
6428
"patterns": [
6429
{
6430
"include": "#inline_comment"
6431
}
6432
]
6433
},
6434
"22": {
6435
"patterns": [
6436
{
6437
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6438
"captures": {
6439
"1": {
6440
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6441
},
6442
"2": {
6443
"name": "comment.block.cuda-cpp"
6444
},
6445
"3": {
6446
"patterns": [
6447
{
6448
"match": "\\*\\/",
6449
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6450
},
6451
{
6452
"match": "\\*",
6453
"name": "comment.block.cuda-cpp"
6454
}
6455
]
6456
}
6457
}
6458
}
6459
]
6460
}
6461
},
6462
"name": "meta.preprocessor.include.cuda-cpp"
6463
},
6464
"inheritance_context": {
6465
"patterns": [
6466
{
6467
"include": "#ever_present_context"
6468
},
6469
{
6470
"match": ",",
6471
"name": "punctuation.separator.delimiter.comma.inheritance.cuda-cpp"
6472
},
6473
{
6474
"match": "(?<!\\w)(?:(?:protected)|(?:private)|(?:public))(?!\\w)",
6475
"name": "storage.type.modifier.access.$0.cuda-cpp"
6476
},
6477
{
6478
"match": "(?<!\\w)virtual(?!\\w)",
6479
"name": "storage.type.modifier.virtual.cuda-cpp"
6480
},
6481
{
6482
"match": "(?<=protected|virtual|private|public|,|:)(?:(?:\\s)+)?(?!(?:(?:(?:protected)|(?:private)|(?:public))|virtual))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))",
6483
"captures": {
6484
"1": {
6485
"name": "meta.qualified_type.cuda-cpp",
6486
"patterns": [
6487
{
6488
"match": "::",
6489
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
6490
},
6491
{
6492
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
6493
"name": "storage.type.$0.cuda-cpp"
6494
},
6495
{
6496
"include": "#attributes_context"
6497
},
6498
{
6499
"include": "#storage_types"
6500
},
6501
{
6502
"include": "#number_literal"
6503
},
6504
{
6505
"include": "#string_context"
6506
},
6507
{
6508
"include": "#comma"
6509
},
6510
{
6511
"include": "#scope_resolution_inner_generated"
6512
},
6513
{
6514
"begin": "<",
6515
"end": ">",
6516
"beginCaptures": {
6517
"0": {
6518
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
6519
}
6520
},
6521
"endCaptures": {
6522
"0": {
6523
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
6524
}
6525
},
6526
"name": "meta.template.call.cuda-cpp",
6527
"patterns": [
6528
{
6529
"include": "#template_call_context"
6530
}
6531
]
6532
},
6533
{
6534
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
6535
"name": "entity.name.type.cuda-cpp"
6536
}
6537
]
6538
},
6539
"2": {
6540
"patterns": [
6541
{
6542
"include": "#attributes_context"
6543
},
6544
{
6545
"include": "#number_literal"
6546
}
6547
]
6548
},
6549
"3": {
6550
"patterns": [
6551
{
6552
"include": "#inline_comment"
6553
}
6554
]
6555
},
6556
"4": {
6557
"patterns": [
6558
{
6559
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6560
"captures": {
6561
"1": {
6562
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6563
},
6564
"2": {
6565
"name": "comment.block.cuda-cpp"
6566
},
6567
"3": {
6568
"patterns": [
6569
{
6570
"match": "\\*\\/",
6571
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6572
},
6573
{
6574
"match": "\\*",
6575
"name": "comment.block.cuda-cpp"
6576
}
6577
]
6578
}
6579
}
6580
}
6581
]
6582
},
6583
"5": {
6584
"patterns": [
6585
{
6586
"include": "#inline_comment"
6587
}
6588
]
6589
},
6590
"6": {
6591
"patterns": [
6592
{
6593
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6594
"captures": {
6595
"1": {
6596
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6597
},
6598
"2": {
6599
"name": "comment.block.cuda-cpp"
6600
},
6601
"3": {
6602
"patterns": [
6603
{
6604
"match": "\\*\\/",
6605
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6606
},
6607
{
6608
"match": "\\*",
6609
"name": "comment.block.cuda-cpp"
6610
}
6611
]
6612
}
6613
}
6614
}
6615
]
6616
},
6617
"7": {
6618
"patterns": [
6619
{
6620
"match": "::",
6621
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
6622
},
6623
{
6624
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
6625
"name": "entity.name.scope-resolution.type.cuda-cpp"
6626
},
6627
{
6628
"include": "#template_call_range"
6629
}
6630
]
6631
},
6632
"8": {
6633
"patterns": [
6634
{
6635
"include": "#template_call_range"
6636
}
6637
]
6638
},
6639
"9": {},
6640
"10": {
6641
"patterns": [
6642
{
6643
"include": "#inline_comment"
6644
}
6645
]
6646
},
6647
"11": {
6648
"patterns": [
6649
{
6650
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6651
"captures": {
6652
"1": {
6653
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6654
},
6655
"2": {
6656
"name": "comment.block.cuda-cpp"
6657
},
6658
"3": {
6659
"patterns": [
6660
{
6661
"match": "\\*\\/",
6662
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6663
},
6664
{
6665
"match": "\\*",
6666
"name": "comment.block.cuda-cpp"
6667
}
6668
]
6669
}
6670
}
6671
}
6672
]
6673
},
6674
"12": {}
6675
}
6676
}
6677
]
6678
},
6679
"inline_builtin_storage_type": {
6680
"match": "(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)",
6681
"captures": {
6682
"1": {
6683
"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"
6684
},
6685
"2": {
6686
"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"
6687
},
6688
"3": {
6689
"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"
6690
},
6691
"4": {
6692
"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"
6693
}
6694
}
6695
},
6696
"inline_comment": {
6697
"match": "(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/))",
6698
"captures": {
6699
"1": {
6700
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6701
},
6702
"2": {
6703
"name": "comment.block.cuda-cpp"
6704
},
6705
"3": {
6706
"patterns": [
6707
{
6708
"match": "\\*\\/",
6709
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6710
},
6711
{
6712
"match": "\\*",
6713
"name": "comment.block.cuda-cpp"
6714
}
6715
]
6716
}
6717
}
6718
},
6719
"invalid_comment_end": {
6720
"match": "\\*\\/",
6721
"name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cuda-cpp"
6722
},
6723
"label": {
6724
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\b(?<!case|default)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:)",
6725
"captures": {
6726
"1": {
6727
"patterns": [
6728
{
6729
"include": "#inline_comment"
6730
}
6731
]
6732
},
6733
"2": {
6734
"patterns": [
6735
{
6736
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6737
"captures": {
6738
"1": {
6739
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6740
},
6741
"2": {
6742
"name": "comment.block.cuda-cpp"
6743
},
6744
"3": {
6745
"patterns": [
6746
{
6747
"match": "\\*\\/",
6748
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6749
},
6750
{
6751
"match": "\\*",
6752
"name": "comment.block.cuda-cpp"
6753
}
6754
]
6755
}
6756
}
6757
}
6758
]
6759
},
6760
"3": {
6761
"name": "entity.name.label.cuda-cpp"
6762
},
6763
"4": {
6764
"patterns": [
6765
{
6766
"include": "#inline_comment"
6767
}
6768
]
6769
},
6770
"5": {
6771
"patterns": [
6772
{
6773
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
6774
"captures": {
6775
"1": {
6776
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6777
},
6778
"2": {
6779
"name": "comment.block.cuda-cpp"
6780
},
6781
"3": {
6782
"patterns": [
6783
{
6784
"match": "\\*\\/",
6785
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6786
},
6787
{
6788
"match": "\\*",
6789
"name": "comment.block.cuda-cpp"
6790
}
6791
]
6792
}
6793
}
6794
}
6795
]
6796
},
6797
"6": {
6798
"name": "punctuation.separator.label.cuda-cpp"
6799
}
6800
}
6801
},
6802
"lambdas": {
6803
"begin": "(?:(?<=[^\\s]|^)(?<![\\w\\]\\)\\[\\*&\">])|(?<=\\Wreturn|^return))(?:(?:\\s)+)?(\\[(?!\\[| *+\"| *+\\d))((?:[^\\[\\]]|((?<!\\[)\\[(?!\\[)(?:[^\\[\\]]*+\\g<3>?)++\\]))*+)(\\](?!((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))[\\[\\];]))",
6804
"end": "(?<=[;}])",
6805
"beginCaptures": {
6806
"1": {
6807
"name": "punctuation.definition.capture.begin.lambda.cuda-cpp"
6808
},
6809
"2": {
6810
"name": "meta.lambda.capture.cuda-cpp",
6811
"patterns": [
6812
{
6813
"include": "#the_this_keyword"
6814
},
6815
{
6816
"match": "((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?=\\]|\\z|$)|(,))|(\\=))",
6817
"captures": {
6818
"1": {
6819
"name": "variable.parameter.capture.cuda-cpp"
6820
},
6821
"2": {
6822
"patterns": [
6823
{
6824
"include": "#inline_comment"
6825
}
6826
]
6827
},
6828
"3": {
6829
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6830
},
6831
"4": {
6832
"name": "comment.block.cuda-cpp"
6833
},
6834
"5": {
6835
"patterns": [
6836
{
6837
"match": "\\*\\/",
6838
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6839
},
6840
{
6841
"match": "\\*",
6842
"name": "comment.block.cuda-cpp"
6843
}
6844
]
6845
},
6846
"6": {
6847
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
6848
},
6849
"7": {
6850
"name": "keyword.operator.assignment.cuda-cpp"
6851
}
6852
}
6853
},
6854
{
6855
"include": "#evaluation_context"
6856
}
6857
]
6858
},
6859
"3": {},
6860
"4": {
6861
"name": "punctuation.definition.capture.end.lambda.cuda-cpp"
6862
},
6863
"5": {
6864
"patterns": [
6865
{
6866
"include": "#inline_comment"
6867
}
6868
]
6869
},
6870
"6": {
6871
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6872
},
6873
"7": {
6874
"name": "comment.block.cuda-cpp"
6875
},
6876
"8": {
6877
"patterns": [
6878
{
6879
"match": "\\*\\/",
6880
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6881
},
6882
{
6883
"match": "\\*",
6884
"name": "comment.block.cuda-cpp"
6885
}
6886
]
6887
}
6888
},
6889
"endCaptures": {},
6890
"patterns": [
6891
{
6892
"begin": "\\(",
6893
"end": "\\)",
6894
"beginCaptures": {
6895
"0": {
6896
"name": "punctuation.definition.parameters.begin.lambda.cuda-cpp"
6897
}
6898
},
6899
"endCaptures": {
6900
"0": {
6901
"name": "punctuation.definition.parameters.end.lambda.cuda-cpp"
6902
}
6903
},
6904
"name": "meta.function.definition.parameters.lambda.cuda-cpp",
6905
"patterns": [
6906
{
6907
"include": "#function_parameter_context"
6908
}
6909
]
6910
},
6911
{
6912
"match": "(?<!\\w)(?:(?:constexpr)|(?:consteval)|(?:mutable))(?!\\w)",
6913
"name": "storage.modifier.lambda.$0.cuda-cpp"
6914
},
6915
{
6916
"match": "(->)((?:.+?(?=\\{|$))?)",
6917
"captures": {
6918
"1": {
6919
"name": "punctuation.definition.lambda.return-type.cuda-cpp"
6920
},
6921
"2": {
6922
"name": "storage.type.return-type.lambda.cuda-cpp"
6923
}
6924
}
6925
},
6926
{
6927
"begin": "\\{",
6928
"end": "\\}",
6929
"beginCaptures": {
6930
"0": {
6931
"name": "punctuation.section.block.begin.bracket.curly.lambda.cuda-cpp"
6932
}
6933
},
6934
"endCaptures": {
6935
"0": {
6936
"name": "punctuation.section.block.end.bracket.curly.lambda.cuda-cpp"
6937
}
6938
},
6939
"name": "meta.function.definition.body.lambda.cuda-cpp",
6940
"patterns": [
6941
{
6942
"include": "$self"
6943
}
6944
]
6945
}
6946
]
6947
},
6948
"language_constants": {
6949
"match": "(?<!\\w)(?:(?:nullptr)|(?:false)|(?:NULL)|(?:true))(?!\\w)",
6950
"name": "constant.language.$0.cuda-cpp"
6951
},
6952
"line": {
6953
"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?line\\b",
6954
"end": "(?<!\\\\)(?=\\n)",
6955
"beginCaptures": {
6956
"0": {
6957
"name": "keyword.control.directive.line.cuda-cpp"
6958
},
6959
"1": {
6960
"patterns": [
6961
{
6962
"include": "#inline_comment"
6963
}
6964
]
6965
},
6966
"2": {
6967
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
6968
},
6969
"3": {
6970
"name": "comment.block.cuda-cpp"
6971
},
6972
"4": {
6973
"patterns": [
6974
{
6975
"match": "\\*\\/",
6976
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
6977
},
6978
{
6979
"match": "\\*",
6980
"name": "comment.block.cuda-cpp"
6981
}
6982
]
6983
},
6984
"5": {
6985
"name": "punctuation.definition.directive.cuda-cpp"
6986
}
6987
},
6988
"endCaptures": {},
6989
"name": "meta.preprocessor.line.cuda-cpp",
6990
"patterns": [
6991
{
6992
"include": "#string_context"
6993
},
6994
{
6995
"include": "#preprocessor_number_literal"
6996
},
6997
{
6998
"include": "#line_continuation_character"
6999
}
7000
]
7001
},
7002
"line_comment": {
7003
"begin": "\\s*+(\\/\\/)",
7004
"end": "(?<=\\n)(?<!\\\\\\n)",
7005
"beginCaptures": {
7006
"1": {
7007
"name": "punctuation.definition.comment.cuda-cpp"
7008
}
7009
},
7010
"endCaptures": {},
7011
"name": "comment.line.double-slash.cuda-cpp",
7012
"patterns": [
7013
{
7014
"include": "#line_continuation_character"
7015
}
7016
]
7017
},
7018
"line_continuation_character": {
7019
"match": "\\\\\\n",
7020
"name": "constant.character.escape.line-continuation.cuda-cpp"
7021
},
7022
"macro": {
7023
"begin": "(^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?define\\b)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
7024
"end": "(?<!\\\\)(?=\\n)",
7025
"beginCaptures": {
7026
"1": {
7027
"name": "keyword.control.directive.define.cuda-cpp"
7028
},
7029
"2": {
7030
"patterns": [
7031
{
7032
"include": "#inline_comment"
7033
}
7034
]
7035
},
7036
"3": {
7037
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7038
},
7039
"4": {
7040
"name": "comment.block.cuda-cpp"
7041
},
7042
"5": {
7043
"patterns": [
7044
{
7045
"match": "\\*\\/",
7046
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7047
},
7048
{
7049
"match": "\\*",
7050
"name": "comment.block.cuda-cpp"
7051
}
7052
]
7053
},
7054
"6": {
7055
"name": "punctuation.definition.directive.cuda-cpp"
7056
},
7057
"7": {
7058
"name": "entity.name.function.preprocessor.cuda-cpp"
7059
}
7060
},
7061
"endCaptures": {},
7062
"name": "meta.preprocessor.macro.cuda-cpp",
7063
"patterns": [
7064
{
7065
"match": "\\G(?:(?:\\s)+)?(\\()([^\\(]*)(\\))",
7066
"captures": {
7067
"1": {
7068
"name": "punctuation.definition.parameters.begin.preprocessor.cuda-cpp"
7069
},
7070
"2": {
7071
"patterns": [
7072
{
7073
"match": "(?<=[(,])(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?",
7074
"captures": {
7075
"1": {
7076
"name": "variable.parameter.preprocessor.cuda-cpp"
7077
}
7078
}
7079
},
7080
{
7081
"match": ",",
7082
"name": "punctuation.separator.parameters.cuda-cpp"
7083
},
7084
{
7085
"match": "\\.\\.\\.",
7086
"name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cuda-cpp"
7087
}
7088
]
7089
},
7090
"3": {
7091
"name": "punctuation.definition.parameters.end.preprocessor.cuda-cpp"
7092
}
7093
}
7094
},
7095
{
7096
"include": "#macro_context"
7097
},
7098
{
7099
"include": "#macro_argument"
7100
}
7101
]
7102
},
7103
"macro_argument": {
7104
"match": "##?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7105
"name": "variable.other.macro.argument.cuda-cpp"
7106
},
7107
"macro_context": {
7108
"patterns": [
7109
{
7110
"include": "source.cpp.embedded.macro"
7111
}
7112
]
7113
},
7114
"macro_name": {
7115
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7116
"name": "entity.name.function.preprocessor.cuda-cpp"
7117
},
7118
"member_access": {
7119
"match": "(?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(\\b(?!uint_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_least8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|suseconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int_fast8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|useconds_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong1[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong2[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong3[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulonglong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|blksize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_addr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|in_port_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uintmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong1[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong2[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong3[^Pattern.new(\n match: \\/\\w\\/,\n)]|longlong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|unsigned[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|blkcnt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intptr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|intmax_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|wchar_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_short[^Pattern.new(\n match: \\/\\w\\/,\n)]|qaddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|caddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|daddr_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|fixpt_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|nlink_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|segsz_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|swblk_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|clock_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ssize_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int16_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int32_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int64_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort1[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort2[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort3[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort4[^Pattern.new(\n match: \\/\\w\\/,\n)]|double1[^Pattern.new(\n match: \\/\\w\\/,\n)]|double2[^Pattern.new(\n match: \\/\\w\\/,\n)]|double3[^Pattern.new(\n match: \\/\\w\\/,\n)]|double4[^Pattern.new(\n match: \\/\\w\\/,\n)]|signed[^Pattern.new(\n match: \\/\\w\\/,\n)]|double[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_char[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_long[^Pattern.new(\n match: \\/\\w\\/,\n)]|ushort[^Pattern.new(\n match: \\/\\w\\/,\n)]|quad_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|mode_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|size_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|time_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int8_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar1[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar2[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar3[^Pattern.new(\n match: \\/\\w\\/,\n)]|uchar4[^Pattern.new(\n match: \\/\\w\\/,\n)]|short1[^Pattern.new(\n match: \\/\\w\\/,\n)]|short2[^Pattern.new(\n match: \\/\\w\\/,\n)]|short3[^Pattern.new(\n match: \\/\\w\\/,\n)]|short4[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong1[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong2[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong3[^Pattern.new(\n match: \\/\\w\\/,\n)]|ulong4[^Pattern.new(\n match: \\/\\w\\/,\n)]|float1[^Pattern.new(\n match: \\/\\w\\/,\n)]|float2[^Pattern.new(\n match: \\/\\w\\/,\n)]|float3[^Pattern.new(\n match: \\/\\w\\/,\n)]|float4[^Pattern.new(\n match: \\/\\w\\/,\n)]|short[^Pattern.new(\n match: \\/\\w\\/,\n)]|float[^Pattern.new(\n match: \\/\\w\\/,\n)]|u_int[^Pattern.new(\n match: \\/\\w\\/,\n)]|div_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|dev_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|gid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|ino_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|key_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|pid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|off_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|uid_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|char1[^Pattern.new(\n match: \\/\\w\\/,\n)]|char2[^Pattern.new(\n match: \\/\\w\\/,\n)]|char3[^Pattern.new(\n match: \\/\\w\\/,\n)]|char4[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint1[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint2[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint3[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint4[^Pattern.new(\n match: \\/\\w\\/,\n)]|long1[^Pattern.new(\n match: \\/\\w\\/,\n)]|long2[^Pattern.new(\n match: \\/\\w\\/,\n)]|long3[^Pattern.new(\n match: \\/\\w\\/,\n)]|auto[^Pattern.new(\n match: \\/\\w\\/,\n)]|void[^Pattern.new(\n match: \\/\\w\\/,\n)]|char[^Pattern.new(\n match: \\/\\w\\/,\n)]|long[^Pattern.new(\n match: \\/\\w\\/,\n)]|bool[^Pattern.new(\n match: \\/\\w\\/,\n)]|uint[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|id_t[^Pattern.new(\n match: \\/\\w\\/,\n)]|int1[^Pattern.new(\n match: \\/\\w\\/,\n)]|int2[^Pattern.new(\n match: \\/\\w\\/,\n)]|int3[^Pattern.new(\n match: \\/\\w\\/,\n)]|int4[^Pattern.new(\n match: \\/\\w\\/,\n)]|dim3[^Pattern.new(\n match: \\/\\w\\/,\n)]|int[^Pattern.new(\n match: \\/\\w\\/,\n)])(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?!\\())",
7120
"captures": {
7121
"1": {
7122
"patterns": [
7123
{
7124
"include": "#inline_comment"
7125
}
7126
]
7127
},
7128
"2": {
7129
"patterns": [
7130
{
7131
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
7132
"captures": {
7133
"1": {
7134
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7135
},
7136
"2": {
7137
"name": "comment.block.cuda-cpp"
7138
},
7139
"3": {
7140
"patterns": [
7141
{
7142
"match": "\\*\\/",
7143
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7144
},
7145
{
7146
"match": "\\*",
7147
"name": "comment.block.cuda-cpp"
7148
}
7149
]
7150
}
7151
}
7152
}
7153
]
7154
},
7155
"3": {
7156
"name": "variable.language.this.cuda-cpp"
7157
},
7158
"4": {
7159
"name": "variable.other.object.access.cuda-cpp"
7160
},
7161
"5": {
7162
"name": "punctuation.separator.dot-access.cuda-cpp"
7163
},
7164
"6": {
7165
"name": "punctuation.separator.pointer-access.cuda-cpp"
7166
},
7167
"7": {
7168
"patterns": [
7169
{
7170
"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7171
"captures": {
7172
"1": {
7173
"patterns": [
7174
{
7175
"include": "#inline_comment"
7176
}
7177
]
7178
},
7179
"2": {
7180
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7181
},
7182
"3": {
7183
"name": "comment.block.cuda-cpp"
7184
},
7185
"4": {
7186
"patterns": [
7187
{
7188
"match": "\\*\\/",
7189
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7190
},
7191
{
7192
"match": "\\*",
7193
"name": "comment.block.cuda-cpp"
7194
}
7195
]
7196
},
7197
"5": {
7198
"name": "variable.language.this.cuda-cpp"
7199
},
7200
"6": {
7201
"name": "variable.other.object.property.cuda-cpp"
7202
},
7203
"7": {
7204
"name": "punctuation.separator.dot-access.cuda-cpp"
7205
},
7206
"8": {
7207
"name": "punctuation.separator.pointer-access.cuda-cpp"
7208
}
7209
}
7210
},
7211
{
7212
"match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7213
"captures": {
7214
"1": {
7215
"patterns": [
7216
{
7217
"include": "#inline_comment"
7218
}
7219
]
7220
},
7221
"2": {
7222
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7223
},
7224
"3": {
7225
"name": "comment.block.cuda-cpp"
7226
},
7227
"4": {
7228
"patterns": [
7229
{
7230
"match": "\\*\\/",
7231
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7232
},
7233
{
7234
"match": "\\*",
7235
"name": "comment.block.cuda-cpp"
7236
}
7237
]
7238
},
7239
"5": {
7240
"name": "variable.language.this.cuda-cpp"
7241
},
7242
"6": {
7243
"name": "variable.other.object.access.cuda-cpp"
7244
},
7245
"7": {
7246
"name": "punctuation.separator.dot-access.cuda-cpp"
7247
},
7248
"8": {
7249
"name": "punctuation.separator.pointer-access.cuda-cpp"
7250
}
7251
}
7252
},
7253
{
7254
"include": "#member_access"
7255
},
7256
{
7257
"include": "#method_access"
7258
}
7259
]
7260
},
7261
"8": {
7262
"name": "variable.other.property.cuda-cpp"
7263
}
7264
}
7265
},
7266
"memory_operators": {
7267
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(delete)(?:(?:\\s)+)?(\\[\\])|(delete))|(new))(?!\\w))",
7268
"captures": {
7269
"1": {
7270
"patterns": [
7271
{
7272
"include": "#inline_comment"
7273
}
7274
]
7275
},
7276
"2": {
7277
"patterns": [
7278
{
7279
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
7280
"captures": {
7281
"1": {
7282
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7283
},
7284
"2": {
7285
"name": "comment.block.cuda-cpp"
7286
},
7287
"3": {
7288
"patterns": [
7289
{
7290
"match": "\\*\\/",
7291
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7292
},
7293
{
7294
"match": "\\*",
7295
"name": "comment.block.cuda-cpp"
7296
}
7297
]
7298
}
7299
}
7300
}
7301
]
7302
},
7303
"3": {
7304
"name": "keyword.operator.wordlike.cuda-cpp"
7305
},
7306
"4": {
7307
"name": "keyword.operator.delete.array.cuda-cpp"
7308
},
7309
"5": {
7310
"name": "keyword.operator.delete.array.bracket.cuda-cpp"
7311
},
7312
"6": {
7313
"name": "keyword.operator.delete.cuda-cpp"
7314
},
7315
"7": {
7316
"name": "keyword.operator.new.cuda-cpp"
7317
}
7318
}
7319
},
7320
"method_access": {
7321
"begin": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:(?:\\s)+)?(?:(?:\\.\\*|\\.)|(?:->\\*|->))(?:(?:\\s)+)?)*)(?:(?:\\s)+)?(~?(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\()",
7322
"end": "\\)",
7323
"beginCaptures": {
7324
"1": {
7325
"patterns": [
7326
{
7327
"include": "#inline_comment"
7328
}
7329
]
7330
},
7331
"2": {
7332
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7333
},
7334
"3": {
7335
"name": "comment.block.cuda-cpp"
7336
},
7337
"4": {
7338
"patterns": [
7339
{
7340
"match": "\\*\\/",
7341
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7342
},
7343
{
7344
"match": "\\*",
7345
"name": "comment.block.cuda-cpp"
7346
}
7347
]
7348
},
7349
"5": {
7350
"name": "variable.language.this.cuda-cpp"
7351
},
7352
"6": {
7353
"name": "variable.other.object.access.cuda-cpp"
7354
},
7355
"7": {
7356
"name": "punctuation.separator.dot-access.cuda-cpp"
7357
},
7358
"8": {
7359
"name": "punctuation.separator.pointer-access.cuda-cpp"
7360
},
7361
"9": {
7362
"patterns": [
7363
{
7364
"match": "(?<=(?:\\.\\*|\\.|->|->\\*))(?:(?:\\s)+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7365
"captures": {
7366
"1": {
7367
"patterns": [
7368
{
7369
"include": "#inline_comment"
7370
}
7371
]
7372
},
7373
"2": {
7374
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7375
},
7376
"3": {
7377
"name": "comment.block.cuda-cpp"
7378
},
7379
"4": {
7380
"patterns": [
7381
{
7382
"match": "\\*\\/",
7383
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7384
},
7385
{
7386
"match": "\\*",
7387
"name": "comment.block.cuda-cpp"
7388
}
7389
]
7390
},
7391
"5": {
7392
"name": "variable.language.this.cuda-cpp"
7393
},
7394
"6": {
7395
"name": "variable.other.object.property.cuda-cpp"
7396
},
7397
"7": {
7398
"name": "punctuation.separator.dot-access.cuda-cpp"
7399
},
7400
"8": {
7401
"name": "punctuation.separator.pointer-access.cuda-cpp"
7402
}
7403
}
7404
},
7405
{
7406
"match": "(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*|(?<=\\]|\\)))(?:(?:\\s)+)?))(?:((?:\\.\\*|\\.))|((?:->\\*|->)))",
7407
"captures": {
7408
"1": {
7409
"patterns": [
7410
{
7411
"include": "#inline_comment"
7412
}
7413
]
7414
},
7415
"2": {
7416
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7417
},
7418
"3": {
7419
"name": "comment.block.cuda-cpp"
7420
},
7421
"4": {
7422
"patterns": [
7423
{
7424
"match": "\\*\\/",
7425
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7426
},
7427
{
7428
"match": "\\*",
7429
"name": "comment.block.cuda-cpp"
7430
}
7431
]
7432
},
7433
"5": {
7434
"name": "variable.language.this.cuda-cpp"
7435
},
7436
"6": {
7437
"name": "variable.other.object.access.cuda-cpp"
7438
},
7439
"7": {
7440
"name": "punctuation.separator.dot-access.cuda-cpp"
7441
},
7442
"8": {
7443
"name": "punctuation.separator.pointer-access.cuda-cpp"
7444
}
7445
}
7446
},
7447
{
7448
"include": "#member_access"
7449
},
7450
{
7451
"include": "#method_access"
7452
}
7453
]
7454
},
7455
"10": {
7456
"name": "entity.name.function.member.cuda-cpp"
7457
},
7458
"11": {
7459
"name": "punctuation.section.arguments.begin.bracket.round.function.member.cuda-cpp"
7460
}
7461
},
7462
"endCaptures": {
7463
"0": {
7464
"name": "punctuation.section.arguments.end.bracket.round.function.member.cuda-cpp"
7465
}
7466
},
7467
"patterns": [
7468
{
7469
"include": "#evaluation_context"
7470
}
7471
]
7472
},
7473
"misc_keywords": {
7474
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:requires)|(?:typedef)|(?:concept)|(?:export)|(?:module))(?!\\w))",
7475
"captures": {
7476
"1": {
7477
"patterns": [
7478
{
7479
"include": "#inline_comment"
7480
}
7481
]
7482
},
7483
"2": {
7484
"patterns": [
7485
{
7486
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
7487
"captures": {
7488
"1": {
7489
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7490
},
7491
"2": {
7492
"name": "comment.block.cuda-cpp"
7493
},
7494
"3": {
7495
"patterns": [
7496
{
7497
"match": "\\*\\/",
7498
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7499
},
7500
{
7501
"match": "\\*",
7502
"name": "comment.block.cuda-cpp"
7503
}
7504
]
7505
}
7506
}
7507
}
7508
]
7509
},
7510
"3": {
7511
"name": "keyword.other.$3.cuda-cpp"
7512
}
7513
}
7514
},
7515
"ms_attributes": {
7516
"begin": "__declspec\\(",
7517
"end": "\\)",
7518
"beginCaptures": {
7519
"0": {
7520
"name": "punctuation.section.attribute.begin.cuda-cpp"
7521
}
7522
},
7523
"endCaptures": {
7524
"0": {
7525
"name": "punctuation.section.attribute.end.cuda-cpp"
7526
}
7527
},
7528
"name": "support.other.attribute.cuda-cpp",
7529
"patterns": [
7530
{
7531
"include": "#attributes_context"
7532
},
7533
{
7534
"begin": "\\(",
7535
"end": "\\)",
7536
"beginCaptures": {},
7537
"endCaptures": {},
7538
"patterns": [
7539
{
7540
"include": "#attributes_context"
7541
},
7542
{
7543
"include": "#string_context"
7544
}
7545
]
7546
},
7547
{
7548
"match": "(using)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
7549
"captures": {
7550
"1": {
7551
"name": "keyword.other.using.directive.cuda-cpp"
7552
},
7553
"2": {
7554
"name": "entity.name.namespace.cuda-cpp"
7555
}
7556
}
7557
},
7558
{
7559
"match": ",",
7560
"name": "punctuation.separator.attribute.cuda-cpp"
7561
},
7562
{
7563
"match": ":",
7564
"name": "punctuation.accessor.attribute.cuda-cpp"
7565
},
7566
{
7567
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(?=::)",
7568
"name": "entity.name.namespace.cuda-cpp"
7569
},
7570
{
7571
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
7572
"name": "entity.other.attribute.$0.cuda-cpp"
7573
},
7574
{
7575
"include": "#number_literal"
7576
}
7577
]
7578
},
7579
"namespace_alias": {
7580
"match": "(?<!\\w)(namespace)(?:\\s)+((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<8>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(?:(;)|\\n))",
7581
"captures": {
7582
"1": {
7583
"name": "keyword.other.namespace.alias.cuda-cpp storage.type.namespace.alias.cuda-cpp"
7584
},
7585
"2": {
7586
"name": "entity.name.namespace.alias.cuda-cpp"
7587
},
7588
"3": {
7589
"name": "keyword.operator.assignment.cuda-cpp"
7590
},
7591
"4": {
7592
"name": "meta.declaration.namespace.alias.value.cuda-cpp"
7593
},
7594
"5": {
7595
"patterns": [
7596
{
7597
"include": "#scope_resolution_namespace_alias_inner_generated"
7598
}
7599
]
7600
},
7601
"6": {
7602
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"
7603
},
7604
"7": {
7605
"patterns": [
7606
{
7607
"include": "#template_call_range"
7608
}
7609
]
7610
},
7611
"9": {
7612
"name": "entity.name.namespace.cuda-cpp"
7613
},
7614
"10": {
7615
"name": "punctuation.terminator.statement.cuda-cpp"
7616
}
7617
},
7618
"name": "meta.declaration.namespace.alias.cuda-cpp"
7619
},
7620
"namespace_block": {
7621
"begin": "((?<!\\w)namespace(?!\\w))",
7622
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
7623
"beginCaptures": {
7624
"0": {
7625
"name": "meta.head.namespace.cuda-cpp"
7626
},
7627
"1": {
7628
"name": "keyword.other.namespace.definition.cuda-cpp storage.type.namespace.definition.cuda-cpp"
7629
}
7630
},
7631
"endCaptures": {},
7632
"name": "meta.block.namespace.cuda-cpp",
7633
"patterns": [
7634
{
7635
"begin": "\\G ?",
7636
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
7637
"beginCaptures": {},
7638
"endCaptures": {
7639
"0": {
7640
"name": "punctuation.section.block.begin.bracket.curly.namespace.cuda-cpp"
7641
}
7642
},
7643
"name": "meta.head.namespace.cuda-cpp",
7644
"patterns": [
7645
{
7646
"include": "#ever_present_context"
7647
},
7648
{
7649
"include": "#attributes_context"
7650
},
7651
{
7652
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<4>?)+>)(?:\\s)*+)?::)*\\s*+)(?:(?:\\s)+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?:(?:\\s)+)?(?:(::)(?:(?:\\s)+)?(inline))?",
7653
"captures": {
7654
"1": {
7655
"patterns": [
7656
{
7657
"include": "#scope_resolution_namespace_block_inner_generated"
7658
}
7659
]
7660
},
7661
"2": {
7662
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"
7663
},
7664
"3": {
7665
"patterns": [
7666
{
7667
"include": "#template_call_range"
7668
}
7669
]
7670
},
7671
"4": {},
7672
"5": {
7673
"name": "entity.name.namespace.cuda-cpp"
7674
},
7675
"6": {
7676
"name": "punctuation.separator.scope-resolution.namespace.block.cuda-cpp"
7677
},
7678
"7": {
7679
"name": "storage.modifier.inline.cuda-cpp"
7680
}
7681
}
7682
}
7683
]
7684
},
7685
{
7686
"begin": "(?<=\\{|<%|\\?\\?<)",
7687
"end": "\\}|%>|\\?\\?>",
7688
"beginCaptures": {},
7689
"endCaptures": {
7690
"0": {
7691
"name": "punctuation.section.block.end.bracket.curly.namespace.cuda-cpp"
7692
}
7693
},
7694
"name": "meta.body.namespace.cuda-cpp",
7695
"patterns": [
7696
{
7697
"include": "$self"
7698
}
7699
]
7700
},
7701
{
7702
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
7703
"end": "[\\s]*(?=;)",
7704
"beginCaptures": {},
7705
"endCaptures": {},
7706
"name": "meta.tail.namespace.cuda-cpp",
7707
"patterns": [
7708
{
7709
"include": "$self"
7710
}
7711
]
7712
}
7713
]
7714
},
7715
"noexcept_operator": {
7716
"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
7717
"end": "\\)",
7718
"beginCaptures": {
7719
"1": {
7720
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.noexcept.cuda-cpp"
7721
},
7722
"2": {
7723
"patterns": [
7724
{
7725
"include": "#inline_comment"
7726
}
7727
]
7728
},
7729
"3": {
7730
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
7731
},
7732
"4": {
7733
"name": "comment.block.cuda-cpp"
7734
},
7735
"5": {
7736
"patterns": [
7737
{
7738
"match": "\\*\\/",
7739
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
7740
},
7741
{
7742
"match": "\\*",
7743
"name": "comment.block.cuda-cpp"
7744
}
7745
]
7746
},
7747
"6": {
7748
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cuda-cpp"
7749
}
7750
},
7751
"endCaptures": {
7752
"0": {
7753
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cuda-cpp"
7754
}
7755
},
7756
"contentName": "meta.arguments.operator.noexcept",
7757
"patterns": [
7758
{
7759
"include": "#evaluation_context"
7760
}
7761
]
7762
},
7763
"number_literal": {
7764
"match": "(?<!\\w)\\.?\\d(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])*",
7765
"captures": {
7766
"0": {
7767
"patterns": [
7768
{
7769
"begin": "(?=.)",
7770
"end": "$",
7771
"beginCaptures": {},
7772
"endCaptures": {},
7773
"patterns": [
7774
{
7775
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9a-fA-F])\\.|\\.(?=[0-9a-fA-F])))([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
7776
"captures": {
7777
"1": {
7778
"name": "keyword.other.unit.hexadecimal.cuda-cpp"
7779
},
7780
"2": {
7781
"name": "constant.numeric.hexadecimal.cuda-cpp",
7782
"patterns": [
7783
{
7784
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7785
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7786
}
7787
]
7788
},
7789
"3": {
7790
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7791
},
7792
"4": {
7793
"name": "constant.numeric.hexadecimal.cuda-cpp"
7794
},
7795
"5": {
7796
"name": "constant.numeric.hexadecimal.cuda-cpp",
7797
"patterns": [
7798
{
7799
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7800
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7801
}
7802
]
7803
},
7804
"6": {
7805
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7806
},
7807
"7": {
7808
"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"
7809
},
7810
"8": {
7811
"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"
7812
},
7813
"9": {
7814
"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"
7815
},
7816
"10": {
7817
"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",
7818
"patterns": [
7819
{
7820
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7821
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7822
}
7823
]
7824
},
7825
"11": {
7826
"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"
7827
},
7828
"12": {
7829
"name": "keyword.other.unit.user-defined.cuda-cpp"
7830
}
7831
}
7832
},
7833
{
7834
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?((?:(?<=[0-9])\\.|\\.(?=[0-9])))([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)?(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?([lLfF](?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
7835
"captures": {
7836
"1": {
7837
"name": "constant.numeric.decimal.cuda-cpp",
7838
"patterns": [
7839
{
7840
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7841
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7842
}
7843
]
7844
},
7845
"2": {
7846
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7847
},
7848
"3": {
7849
"name": "constant.numeric.decimal.point.cuda-cpp"
7850
},
7851
"4": {
7852
"name": "constant.numeric.decimal.cuda-cpp",
7853
"patterns": [
7854
{
7855
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7856
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7857
}
7858
]
7859
},
7860
"5": {
7861
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7862
},
7863
"6": {
7864
"name": "keyword.other.unit.exponent.decimal.cuda-cpp"
7865
},
7866
"7": {
7867
"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"
7868
},
7869
"8": {
7870
"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"
7871
},
7872
"9": {
7873
"name": "constant.numeric.exponent.decimal.cuda-cpp",
7874
"patterns": [
7875
{
7876
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7877
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7878
}
7879
]
7880
},
7881
"10": {
7882
"name": "keyword.other.unit.suffix.floating-point.cuda-cpp"
7883
},
7884
"11": {
7885
"name": "keyword.other.unit.user-defined.cuda-cpp"
7886
}
7887
}
7888
},
7889
{
7890
"match": "(\\G0[bB])([01](?:[01]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
7891
"captures": {
7892
"1": {
7893
"name": "keyword.other.unit.binary.cuda-cpp"
7894
},
7895
"2": {
7896
"name": "constant.numeric.binary.cuda-cpp",
7897
"patterns": [
7898
{
7899
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7900
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7901
}
7902
]
7903
},
7904
"3": {
7905
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7906
},
7907
"4": {
7908
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
7909
},
7910
"5": {
7911
"name": "keyword.other.unit.user-defined.cuda-cpp"
7912
}
7913
}
7914
},
7915
{
7916
"match": "(\\G0)((?:[0-7]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))+)((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9])\\w*)?$)",
7917
"captures": {
7918
"1": {
7919
"name": "keyword.other.unit.octal.cuda-cpp"
7920
},
7921
"2": {
7922
"name": "constant.numeric.octal.cuda-cpp",
7923
"patterns": [
7924
{
7925
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7926
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7927
}
7928
]
7929
},
7930
"3": {
7931
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7932
},
7933
"4": {
7934
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
7935
},
7936
"5": {
7937
"name": "keyword.other.unit.user-defined.cuda-cpp"
7938
}
7939
}
7940
},
7941
{
7942
"match": "(\\G0[xX])([0-9a-fA-F](?:[0-9a-fA-F]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([pP])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9a-fA-FpP])\\w*)?$)",
7943
"captures": {
7944
"1": {
7945
"name": "keyword.other.unit.hexadecimal.cuda-cpp"
7946
},
7947
"2": {
7948
"name": "constant.numeric.hexadecimal.cuda-cpp",
7949
"patterns": [
7950
{
7951
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7952
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7953
}
7954
]
7955
},
7956
"3": {
7957
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7958
},
7959
"4": {
7960
"name": "keyword.other.unit.exponent.hexadecimal.cuda-cpp"
7961
},
7962
"5": {
7963
"name": "keyword.operator.plus.exponent.hexadecimal.cuda-cpp"
7964
},
7965
"6": {
7966
"name": "keyword.operator.minus.exponent.hexadecimal.cuda-cpp"
7967
},
7968
"7": {
7969
"name": "constant.numeric.exponent.hexadecimal.cuda-cpp",
7970
"patterns": [
7971
{
7972
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7973
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7974
}
7975
]
7976
},
7977
"8": {
7978
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
7979
},
7980
"9": {
7981
"name": "keyword.other.unit.user-defined.cuda-cpp"
7982
}
7983
}
7984
},
7985
{
7986
"match": "\\G(?=[0-9.])(?!0[xXbB])([0-9](?:[0-9]|((?<=[0-9a-fA-F])'(?=[0-9a-fA-F])))*)(?:(?<!')([eE])((?:\\+)?)((?:\\-)?)([0-9](?:[0-9]|(?<=[0-9a-fA-F])'(?=[0-9a-fA-F]))*))?((?:[uU]|(?:[uU]ll?)|(?:[uU]LL?)|(?:ll?[uU]?)|(?:LL?[uU]?)|[fF])(?!\\w))?((?:\\w(?<![0-9eE])\\w*)?$)",
7987
"captures": {
7988
"1": {
7989
"name": "constant.numeric.decimal.cuda-cpp",
7990
"patterns": [
7991
{
7992
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
7993
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7994
}
7995
]
7996
},
7997
"2": {
7998
"name": "punctuation.separator.constant.numeric.cuda-cpp"
7999
},
8000
"3": {
8001
"name": "keyword.other.unit.exponent.decimal.cuda-cpp"
8002
},
8003
"4": {
8004
"name": "keyword.operator.plus.exponent.decimal.cuda-cpp"
8005
},
8006
"5": {
8007
"name": "keyword.operator.minus.exponent.decimal.cuda-cpp"
8008
},
8009
"6": {
8010
"name": "constant.numeric.exponent.decimal.cuda-cpp",
8011
"patterns": [
8012
{
8013
"match": "(?<=[0-9a-fA-F])'(?=[0-9a-fA-F])",
8014
"name": "punctuation.separator.constant.numeric.cuda-cpp"
8015
}
8016
]
8017
},
8018
"7": {
8019
"name": "keyword.other.unit.suffix.integer.cuda-cpp"
8020
},
8021
"8": {
8022
"name": "keyword.other.unit.user-defined.cuda-cpp"
8023
}
8024
}
8025
},
8026
{
8027
"match": "(?:(?:[0-9a-zA-Z_\\.]|')|(?<=[eEpP])[+-])+",
8028
"name": "invalid.illegal.constant.numeric.cuda-cpp"
8029
}
8030
]
8031
}
8032
]
8033
}
8034
}
8035
},
8036
"operator_overload": {
8037
"begin": "(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:__cdecl|__clrcall|__stdcall|__fastcall|__thiscall|__vectorcall)?)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(operator)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<55>?)+>)(?:\\s)*+)?::)*+)(?:(?:((?:(?:delete\\[\\])|(?:delete)|(?:new\\[\\])|(?:new)|(?:\\->\\*)|(?:<<=)|(?:>>=)|(?:<=>)|(?:\\+\\+)|(?:\\-\\-)|(?:\\(\\))|(?:\\[\\])|(?:\\->)|(?:\\+\\+)|(?:\\-\\-)|(?:<<)|(?:>>)|(?:<=)|(?:>=)|(?:==)|(?:!=)|(?:&&)|(?:\\|\\|)|(?:\\+=)|(?:\\-=)|(?:\\*=)|(?:\\/=)|(?:%=)|(?:&=)|(?:\\^=)|(?:\\|=)|(?:\\+)|(?:\\-)|!|~|(?:\\*)|&|(?:\\*)|(?:\\/)|%|(?:\\+)|(?:\\-)|<|>|&|(?:\\^)|(?:\\|)|=|,))|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:\\[\\])?)))|(\"\")((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\<|\\()",
8038
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
8039
"beginCaptures": {
8040
"0": {
8041
"name": "meta.head.function.definition.special.operator-overload.cuda-cpp"
8042
},
8043
"1": {
8044
"name": "meta.qualified_type.cuda-cpp",
8045
"patterns": [
8046
{
8047
"match": "::",
8048
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
8049
},
8050
{
8051
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
8052
"name": "storage.type.$0.cuda-cpp"
8053
},
8054
{
8055
"include": "#attributes_context"
8056
},
8057
{
8058
"include": "#storage_types"
8059
},
8060
{
8061
"include": "#number_literal"
8062
},
8063
{
8064
"include": "#string_context"
8065
},
8066
{
8067
"include": "#comma"
8068
},
8069
{
8070
"include": "#scope_resolution_inner_generated"
8071
},
8072
{
8073
"begin": "<",
8074
"end": ">",
8075
"beginCaptures": {
8076
"0": {
8077
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
8078
}
8079
},
8080
"endCaptures": {
8081
"0": {
8082
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
8083
}
8084
},
8085
"name": "meta.template.call.cuda-cpp",
8086
"patterns": [
8087
{
8088
"include": "#template_call_context"
8089
}
8090
]
8091
},
8092
{
8093
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
8094
"name": "entity.name.type.cuda-cpp"
8095
}
8096
]
8097
},
8098
"2": {
8099
"patterns": [
8100
{
8101
"include": "#attributes_context"
8102
},
8103
{
8104
"include": "#number_literal"
8105
}
8106
]
8107
},
8108
"3": {
8109
"patterns": [
8110
{
8111
"include": "#inline_comment"
8112
}
8113
]
8114
},
8115
"4": {
8116
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8117
},
8118
"5": {
8119
"name": "comment.block.cuda-cpp"
8120
},
8121
"6": {
8122
"patterns": [
8123
{
8124
"match": "\\*\\/",
8125
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8126
},
8127
{
8128
"match": "\\*",
8129
"name": "comment.block.cuda-cpp"
8130
}
8131
]
8132
},
8133
"7": {
8134
"patterns": [
8135
{
8136
"include": "#inline_comment"
8137
}
8138
]
8139
},
8140
"8": {
8141
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8142
},
8143
"9": {
8144
"name": "comment.block.cuda-cpp"
8145
},
8146
"10": {
8147
"patterns": [
8148
{
8149
"match": "\\*\\/",
8150
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8151
},
8152
{
8153
"match": "\\*",
8154
"name": "comment.block.cuda-cpp"
8155
}
8156
]
8157
},
8158
"11": {
8159
"patterns": [
8160
{
8161
"match": "::",
8162
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
8163
},
8164
{
8165
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
8166
"name": "entity.name.scope-resolution.type.cuda-cpp"
8167
},
8168
{
8169
"include": "#template_call_range"
8170
}
8171
]
8172
},
8173
"12": {
8174
"patterns": [
8175
{
8176
"include": "#template_call_range"
8177
}
8178
]
8179
},
8180
"13": {},
8181
"14": {
8182
"patterns": [
8183
{
8184
"include": "#inline_comment"
8185
}
8186
]
8187
},
8188
"15": {
8189
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8190
},
8191
"16": {
8192
"name": "comment.block.cuda-cpp"
8193
},
8194
"17": {
8195
"patterns": [
8196
{
8197
"match": "\\*\\/",
8198
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8199
},
8200
{
8201
"match": "\\*",
8202
"name": "comment.block.cuda-cpp"
8203
}
8204
]
8205
},
8206
"18": {},
8207
"19": {
8208
"patterns": [
8209
{
8210
"match": "\\*",
8211
"name": "storage.modifier.pointer.cuda-cpp"
8212
},
8213
{
8214
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
8215
"captures": {
8216
"1": {
8217
"patterns": [
8218
{
8219
"include": "#inline_comment"
8220
}
8221
]
8222
},
8223
"2": {
8224
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8225
},
8226
"3": {
8227
"name": "comment.block.cuda-cpp"
8228
},
8229
"4": {
8230
"patterns": [
8231
{
8232
"match": "\\*\\/",
8233
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8234
},
8235
{
8236
"match": "\\*",
8237
"name": "comment.block.cuda-cpp"
8238
}
8239
]
8240
}
8241
},
8242
"name": "invalid.illegal.reference-type.cuda-cpp"
8243
},
8244
{
8245
"match": "\\&",
8246
"name": "storage.modifier.reference.cuda-cpp"
8247
}
8248
]
8249
},
8250
"20": {
8251
"patterns": [
8252
{
8253
"include": "#inline_comment"
8254
}
8255
]
8256
},
8257
"21": {
8258
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8259
},
8260
"22": {
8261
"name": "comment.block.cuda-cpp"
8262
},
8263
"23": {
8264
"patterns": [
8265
{
8266
"match": "\\*\\/",
8267
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8268
},
8269
{
8270
"match": "\\*",
8271
"name": "comment.block.cuda-cpp"
8272
}
8273
]
8274
},
8275
"24": {
8276
"patterns": [
8277
{
8278
"include": "#inline_comment"
8279
}
8280
]
8281
},
8282
"25": {
8283
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8284
},
8285
"26": {
8286
"name": "comment.block.cuda-cpp"
8287
},
8288
"27": {
8289
"patterns": [
8290
{
8291
"match": "\\*\\/",
8292
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8293
},
8294
{
8295
"match": "\\*",
8296
"name": "comment.block.cuda-cpp"
8297
}
8298
]
8299
},
8300
"28": {
8301
"patterns": [
8302
{
8303
"include": "#inline_comment"
8304
}
8305
]
8306
},
8307
"29": {
8308
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8309
},
8310
"30": {
8311
"name": "comment.block.cuda-cpp"
8312
},
8313
"31": {
8314
"patterns": [
8315
{
8316
"match": "\\*\\/",
8317
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8318
},
8319
{
8320
"match": "\\*",
8321
"name": "comment.block.cuda-cpp"
8322
}
8323
]
8324
},
8325
"32": {
8326
"patterns": [
8327
{
8328
"include": "#inline_comment"
8329
}
8330
]
8331
},
8332
"33": {
8333
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8334
},
8335
"34": {
8336
"name": "comment.block.cuda-cpp"
8337
},
8338
"35": {
8339
"patterns": [
8340
{
8341
"match": "\\*\\/",
8342
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8343
},
8344
{
8345
"match": "\\*",
8346
"name": "comment.block.cuda-cpp"
8347
}
8348
]
8349
},
8350
"36": {
8351
"name": "storage.type.modifier.calling-convention.cuda-cpp"
8352
},
8353
"37": {
8354
"patterns": [
8355
{
8356
"include": "#inline_comment"
8357
}
8358
]
8359
},
8360
"38": {
8361
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8362
},
8363
"39": {
8364
"name": "comment.block.cuda-cpp"
8365
},
8366
"40": {
8367
"patterns": [
8368
{
8369
"match": "\\*\\/",
8370
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8371
},
8372
{
8373
"match": "\\*",
8374
"name": "comment.block.cuda-cpp"
8375
}
8376
]
8377
},
8378
"41": {
8379
"patterns": [
8380
{
8381
"include": "#inline_comment"
8382
}
8383
]
8384
},
8385
"42": {
8386
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8387
},
8388
"43": {
8389
"name": "comment.block.cuda-cpp"
8390
},
8391
"44": {
8392
"patterns": [
8393
{
8394
"match": "\\*\\/",
8395
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8396
},
8397
{
8398
"match": "\\*",
8399
"name": "comment.block.cuda-cpp"
8400
}
8401
]
8402
},
8403
"45": {
8404
"patterns": [
8405
{
8406
"match": "::",
8407
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.operator.cuda-cpp"
8408
},
8409
{
8410
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
8411
"name": "entity.name.scope-resolution.operator.cuda-cpp"
8412
},
8413
{
8414
"include": "#template_call_range"
8415
}
8416
]
8417
},
8418
"46": {
8419
"patterns": [
8420
{
8421
"include": "#template_call_range"
8422
}
8423
]
8424
},
8425
"47": {},
8426
"48": {
8427
"name": "keyword.other.operator.overload.cuda-cpp"
8428
},
8429
"49": {
8430
"patterns": [
8431
{
8432
"include": "#inline_comment"
8433
}
8434
]
8435
},
8436
"50": {
8437
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8438
},
8439
"51": {
8440
"name": "comment.block.cuda-cpp"
8441
},
8442
"52": {
8443
"patterns": [
8444
{
8445
"match": "\\*\\/",
8446
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8447
},
8448
{
8449
"match": "\\*",
8450
"name": "comment.block.cuda-cpp"
8451
}
8452
]
8453
},
8454
"53": {
8455
"patterns": [
8456
{
8457
"match": "::",
8458
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.operator-overload.cuda-cpp"
8459
},
8460
{
8461
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
8462
"name": "entity.name.scope-resolution.operator-overload.cuda-cpp"
8463
},
8464
{
8465
"include": "#template_call_range"
8466
}
8467
]
8468
},
8469
"54": {
8470
"patterns": [
8471
{
8472
"include": "#template_call_range"
8473
}
8474
]
8475
},
8476
"55": {},
8477
"56": {
8478
"name": "entity.name.operator.cuda-cpp"
8479
},
8480
"57": {
8481
"name": "entity.name.operator.type.cuda-cpp"
8482
},
8483
"58": {
8484
"patterns": [
8485
{
8486
"match": "\\*",
8487
"name": "entity.name.operator.type.pointer.cuda-cpp"
8488
},
8489
{
8490
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
8491
"captures": {
8492
"1": {
8493
"patterns": [
8494
{
8495
"include": "#inline_comment"
8496
}
8497
]
8498
},
8499
"2": {
8500
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8501
},
8502
"3": {
8503
"name": "comment.block.cuda-cpp"
8504
},
8505
"4": {
8506
"patterns": [
8507
{
8508
"match": "\\*\\/",
8509
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8510
},
8511
{
8512
"match": "\\*",
8513
"name": "comment.block.cuda-cpp"
8514
}
8515
]
8516
}
8517
},
8518
"name": "invalid.illegal.reference-type.cuda-cpp"
8519
},
8520
{
8521
"match": "\\&",
8522
"name": "entity.name.operator.type.reference.cuda-cpp"
8523
}
8524
]
8525
},
8526
"59": {
8527
"patterns": [
8528
{
8529
"include": "#inline_comment"
8530
}
8531
]
8532
},
8533
"60": {
8534
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8535
},
8536
"61": {
8537
"name": "comment.block.cuda-cpp"
8538
},
8539
"62": {
8540
"patterns": [
8541
{
8542
"match": "\\*\\/",
8543
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8544
},
8545
{
8546
"match": "\\*",
8547
"name": "comment.block.cuda-cpp"
8548
}
8549
]
8550
},
8551
"63": {
8552
"patterns": [
8553
{
8554
"include": "#inline_comment"
8555
}
8556
]
8557
},
8558
"64": {
8559
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8560
},
8561
"65": {
8562
"name": "comment.block.cuda-cpp"
8563
},
8564
"66": {
8565
"patterns": [
8566
{
8567
"match": "\\*\\/",
8568
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8569
},
8570
{
8571
"match": "\\*",
8572
"name": "comment.block.cuda-cpp"
8573
}
8574
]
8575
},
8576
"67": {
8577
"patterns": [
8578
{
8579
"include": "#inline_comment"
8580
}
8581
]
8582
},
8583
"68": {
8584
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8585
},
8586
"69": {
8587
"name": "comment.block.cuda-cpp"
8588
},
8589
"70": {
8590
"patterns": [
8591
{
8592
"match": "\\*\\/",
8593
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8594
},
8595
{
8596
"match": "\\*",
8597
"name": "comment.block.cuda-cpp"
8598
}
8599
]
8600
},
8601
"71": {
8602
"name": "entity.name.operator.type.array.cuda-cpp"
8603
},
8604
"72": {
8605
"name": "entity.name.operator.custom-literal.cuda-cpp"
8606
},
8607
"73": {
8608
"patterns": [
8609
{
8610
"include": "#inline_comment"
8611
}
8612
]
8613
},
8614
"74": {
8615
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8616
},
8617
"75": {
8618
"name": "comment.block.cuda-cpp"
8619
},
8620
"76": {
8621
"patterns": [
8622
{
8623
"match": "\\*\\/",
8624
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8625
},
8626
{
8627
"match": "\\*",
8628
"name": "comment.block.cuda-cpp"
8629
}
8630
]
8631
},
8632
"77": {
8633
"name": "entity.name.operator.custom-literal.cuda-cpp"
8634
},
8635
"78": {
8636
"patterns": [
8637
{
8638
"include": "#inline_comment"
8639
}
8640
]
8641
},
8642
"79": {
8643
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8644
},
8645
"80": {
8646
"name": "comment.block.cuda-cpp"
8647
},
8648
"81": {
8649
"patterns": [
8650
{
8651
"match": "\\*\\/",
8652
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8653
},
8654
{
8655
"match": "\\*",
8656
"name": "comment.block.cuda-cpp"
8657
}
8658
]
8659
}
8660
},
8661
"endCaptures": {},
8662
"name": "meta.function.definition.special.operator-overload.cuda-cpp",
8663
"patterns": [
8664
{
8665
"begin": "\\G ?",
8666
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
8667
"beginCaptures": {},
8668
"endCaptures": {
8669
"0": {
8670
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cuda-cpp"
8671
}
8672
},
8673
"name": "meta.head.function.definition.special.operator-overload.cuda-cpp",
8674
"patterns": [
8675
{
8676
"include": "#ever_present_context"
8677
},
8678
{
8679
"include": "#template_call_range"
8680
},
8681
{
8682
"begin": "\\(",
8683
"end": "\\)",
8684
"beginCaptures": {
8685
"0": {
8686
"name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cuda-cpp"
8687
}
8688
},
8689
"endCaptures": {
8690
"0": {
8691
"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cuda-cpp"
8692
}
8693
},
8694
"contentName": "meta.function.definition.parameters.special.operator-overload",
8695
"patterns": [
8696
{
8697
"include": "#function_parameter_context"
8698
},
8699
{
8700
"include": "#evaluation_context"
8701
}
8702
]
8703
},
8704
{
8705
"include": "#qualifiers_and_specifiers_post_parameters"
8706
},
8707
{
8708
"include": "$self"
8709
}
8710
]
8711
},
8712
{
8713
"begin": "(?<=\\{|<%|\\?\\?<)",
8714
"end": "\\}|%>|\\?\\?>",
8715
"beginCaptures": {},
8716
"endCaptures": {
8717
"0": {
8718
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cuda-cpp"
8719
}
8720
},
8721
"name": "meta.body.function.definition.special.operator-overload.cuda-cpp",
8722
"patterns": [
8723
{
8724
"include": "#function_body_context"
8725
}
8726
]
8727
},
8728
{
8729
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
8730
"end": "[\\s]*(?=;)",
8731
"beginCaptures": {},
8732
"endCaptures": {},
8733
"name": "meta.tail.function.definition.special.operator-overload.cuda-cpp",
8734
"patterns": [
8735
{
8736
"include": "$self"
8737
}
8738
]
8739
}
8740
]
8741
},
8742
"operators": {
8743
"patterns": [
8744
{
8745
"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8746
"end": "\\)",
8747
"beginCaptures": {
8748
"1": {
8749
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.cuda-cpp"
8750
},
8751
"2": {
8752
"patterns": [
8753
{
8754
"include": "#inline_comment"
8755
}
8756
]
8757
},
8758
"3": {
8759
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8760
},
8761
"4": {
8762
"name": "comment.block.cuda-cpp"
8763
},
8764
"5": {
8765
"patterns": [
8766
{
8767
"match": "\\*\\/",
8768
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8769
},
8770
{
8771
"match": "\\*",
8772
"name": "comment.block.cuda-cpp"
8773
}
8774
]
8775
},
8776
"6": {
8777
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cuda-cpp"
8778
}
8779
},
8780
"endCaptures": {
8781
"0": {
8782
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cuda-cpp"
8783
}
8784
},
8785
"contentName": "meta.arguments.operator.sizeof",
8786
"patterns": [
8787
{
8788
"include": "#evaluation_context"
8789
}
8790
]
8791
},
8792
{
8793
"begin": "((?<!\\w)alignof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8794
"end": "\\)",
8795
"beginCaptures": {
8796
"1": {
8797
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignof.cuda-cpp"
8798
},
8799
"2": {
8800
"patterns": [
8801
{
8802
"include": "#inline_comment"
8803
}
8804
]
8805
},
8806
"3": {
8807
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8808
},
8809
"4": {
8810
"name": "comment.block.cuda-cpp"
8811
},
8812
"5": {
8813
"patterns": [
8814
{
8815
"match": "\\*\\/",
8816
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8817
},
8818
{
8819
"match": "\\*",
8820
"name": "comment.block.cuda-cpp"
8821
}
8822
]
8823
},
8824
"6": {
8825
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cuda-cpp"
8826
}
8827
},
8828
"endCaptures": {
8829
"0": {
8830
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cuda-cpp"
8831
}
8832
},
8833
"contentName": "meta.arguments.operator.alignof",
8834
"patterns": [
8835
{
8836
"include": "#evaluation_context"
8837
}
8838
]
8839
},
8840
{
8841
"begin": "((?<!\\w)alignas(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8842
"end": "\\)",
8843
"beginCaptures": {
8844
"1": {
8845
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.alignas.cuda-cpp"
8846
},
8847
"2": {
8848
"patterns": [
8849
{
8850
"include": "#inline_comment"
8851
}
8852
]
8853
},
8854
"3": {
8855
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8856
},
8857
"4": {
8858
"name": "comment.block.cuda-cpp"
8859
},
8860
"5": {
8861
"patterns": [
8862
{
8863
"match": "\\*\\/",
8864
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8865
},
8866
{
8867
"match": "\\*",
8868
"name": "comment.block.cuda-cpp"
8869
}
8870
]
8871
},
8872
"6": {
8873
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cuda-cpp"
8874
}
8875
},
8876
"endCaptures": {
8877
"0": {
8878
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cuda-cpp"
8879
}
8880
},
8881
"contentName": "meta.arguments.operator.alignas",
8882
"patterns": [
8883
{
8884
"include": "#evaluation_context"
8885
}
8886
]
8887
},
8888
{
8889
"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8890
"end": "\\)",
8891
"beginCaptures": {
8892
"1": {
8893
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.typeid.cuda-cpp"
8894
},
8895
"2": {
8896
"patterns": [
8897
{
8898
"include": "#inline_comment"
8899
}
8900
]
8901
},
8902
"3": {
8903
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8904
},
8905
"4": {
8906
"name": "comment.block.cuda-cpp"
8907
},
8908
"5": {
8909
"patterns": [
8910
{
8911
"match": "\\*\\/",
8912
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8913
},
8914
{
8915
"match": "\\*",
8916
"name": "comment.block.cuda-cpp"
8917
}
8918
]
8919
},
8920
"6": {
8921
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cuda-cpp"
8922
}
8923
},
8924
"endCaptures": {
8925
"0": {
8926
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cuda-cpp"
8927
}
8928
},
8929
"contentName": "meta.arguments.operator.typeid",
8930
"patterns": [
8931
{
8932
"include": "#evaluation_context"
8933
}
8934
]
8935
},
8936
{
8937
"begin": "((?<!\\w)noexcept(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8938
"end": "\\)",
8939
"beginCaptures": {
8940
"1": {
8941
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.noexcept.cuda-cpp"
8942
},
8943
"2": {
8944
"patterns": [
8945
{
8946
"include": "#inline_comment"
8947
}
8948
]
8949
},
8950
"3": {
8951
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
8952
},
8953
"4": {
8954
"name": "comment.block.cuda-cpp"
8955
},
8956
"5": {
8957
"patterns": [
8958
{
8959
"match": "\\*\\/",
8960
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
8961
},
8962
{
8963
"match": "\\*",
8964
"name": "comment.block.cuda-cpp"
8965
}
8966
]
8967
},
8968
"6": {
8969
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cuda-cpp"
8970
}
8971
},
8972
"endCaptures": {
8973
"0": {
8974
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cuda-cpp"
8975
}
8976
},
8977
"contentName": "meta.arguments.operator.noexcept",
8978
"patterns": [
8979
{
8980
"include": "#evaluation_context"
8981
}
8982
]
8983
},
8984
{
8985
"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
8986
"end": "\\)",
8987
"beginCaptures": {
8988
"1": {
8989
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.variadic.cuda-cpp"
8990
},
8991
"2": {
8992
"patterns": [
8993
{
8994
"include": "#inline_comment"
8995
}
8996
]
8997
},
8998
"3": {
8999
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9000
},
9001
"4": {
9002
"name": "comment.block.cuda-cpp"
9003
},
9004
"5": {
9005
"patterns": [
9006
{
9007
"match": "\\*\\/",
9008
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9009
},
9010
{
9011
"match": "\\*",
9012
"name": "comment.block.cuda-cpp"
9013
}
9014
]
9015
},
9016
"6": {
9017
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cuda-cpp"
9018
}
9019
},
9020
"endCaptures": {
9021
"0": {
9022
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cuda-cpp"
9023
}
9024
},
9025
"contentName": "meta.arguments.operator.sizeof.variadic",
9026
"patterns": [
9027
{
9028
"include": "#evaluation_context"
9029
}
9030
]
9031
},
9032
{
9033
"match": "--",
9034
"name": "keyword.operator.decrement.cuda-cpp"
9035
},
9036
{
9037
"match": "\\+\\+",
9038
"name": "keyword.operator.increment.cuda-cpp"
9039
},
9040
{
9041
"match": "%=|\\+=|-=|\\*=|(?<!\\()\\/=",
9042
"name": "keyword.operator.assignment.compound.cuda-cpp"
9043
},
9044
{
9045
"match": "&=|\\^=|<<=|>>=|\\|=",
9046
"name": "keyword.operator.assignment.compound.bitwise.cuda-cpp"
9047
},
9048
{
9049
"match": "<<|>>",
9050
"name": "keyword.operator.bitwise.shift.cuda-cpp"
9051
},
9052
{
9053
"match": "!=|<=|>=|==|<|>",
9054
"name": "keyword.operator.comparison.cuda-cpp"
9055
},
9056
{
9057
"match": "&&|!|\\|\\|",
9058
"name": "keyword.operator.logical.cuda-cpp"
9059
},
9060
{
9061
"match": "&|\\||\\^|~",
9062
"name": "keyword.operator.cuda-cpp"
9063
},
9064
{
9065
"include": "#assignment_operator"
9066
},
9067
{
9068
"match": "%|\\*|\\/|-|\\+",
9069
"name": "keyword.operator.cuda-cpp"
9070
},
9071
{
9072
"include": "#ternary_operator"
9073
}
9074
]
9075
},
9076
"over_qualified_types": {
9077
"patterns": [
9078
{
9079
"match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9080
"captures": {
9081
"1": {
9082
"name": "storage.type.struct.parameter.cuda-cpp"
9083
},
9084
"2": {
9085
"patterns": [
9086
{
9087
"include": "#inline_comment"
9088
}
9089
]
9090
},
9091
"3": {
9092
"patterns": [
9093
{
9094
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9095
"captures": {
9096
"1": {
9097
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9098
},
9099
"2": {
9100
"name": "comment.block.cuda-cpp"
9101
},
9102
"3": {
9103
"patterns": [
9104
{
9105
"match": "\\*\\/",
9106
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9107
},
9108
{
9109
"match": "\\*",
9110
"name": "comment.block.cuda-cpp"
9111
}
9112
]
9113
}
9114
}
9115
}
9116
]
9117
},
9118
"4": {
9119
"name": "entity.name.type.struct.parameter.cuda-cpp"
9120
},
9121
"5": {
9122
"patterns": [
9123
{
9124
"include": "#inline_comment"
9125
}
9126
]
9127
},
9128
"6": {
9129
"patterns": [
9130
{
9131
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9132
"captures": {
9133
"1": {
9134
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9135
},
9136
"2": {
9137
"name": "comment.block.cuda-cpp"
9138
},
9139
"3": {
9140
"patterns": [
9141
{
9142
"match": "\\*\\/",
9143
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9144
},
9145
{
9146
"match": "\\*",
9147
"name": "comment.block.cuda-cpp"
9148
}
9149
]
9150
}
9151
}
9152
}
9153
]
9154
},
9155
"7": {
9156
"patterns": [
9157
{
9158
"match": "\\*",
9159
"name": "storage.modifier.pointer.cuda-cpp"
9160
},
9161
{
9162
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
9163
"captures": {
9164
"1": {
9165
"patterns": [
9166
{
9167
"include": "#inline_comment"
9168
}
9169
]
9170
},
9171
"2": {
9172
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9173
},
9174
"3": {
9175
"name": "comment.block.cuda-cpp"
9176
},
9177
"4": {
9178
"patterns": [
9179
{
9180
"match": "\\*\\/",
9181
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9182
},
9183
{
9184
"match": "\\*",
9185
"name": "comment.block.cuda-cpp"
9186
}
9187
]
9188
}
9189
},
9190
"name": "invalid.illegal.reference-type.cuda-cpp"
9191
},
9192
{
9193
"match": "\\&",
9194
"name": "storage.modifier.reference.cuda-cpp"
9195
}
9196
]
9197
},
9198
"8": {
9199
"patterns": [
9200
{
9201
"include": "#inline_comment"
9202
}
9203
]
9204
},
9205
"9": {
9206
"patterns": [
9207
{
9208
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9209
"captures": {
9210
"1": {
9211
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9212
},
9213
"2": {
9214
"name": "comment.block.cuda-cpp"
9215
},
9216
"3": {
9217
"patterns": [
9218
{
9219
"match": "\\*\\/",
9220
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9221
},
9222
{
9223
"match": "\\*",
9224
"name": "comment.block.cuda-cpp"
9225
}
9226
]
9227
}
9228
}
9229
}
9230
]
9231
},
9232
"10": {
9233
"patterns": [
9234
{
9235
"include": "#inline_comment"
9236
}
9237
]
9238
},
9239
"11": {
9240
"patterns": [
9241
{
9242
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9243
"captures": {
9244
"1": {
9245
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9246
},
9247
"2": {
9248
"name": "comment.block.cuda-cpp"
9249
},
9250
"3": {
9251
"patterns": [
9252
{
9253
"match": "\\*\\/",
9254
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9255
},
9256
{
9257
"match": "\\*",
9258
"name": "comment.block.cuda-cpp"
9259
}
9260
]
9261
}
9262
}
9263
}
9264
]
9265
},
9266
"12": {
9267
"patterns": [
9268
{
9269
"include": "#inline_comment"
9270
}
9271
]
9272
},
9273
"13": {
9274
"patterns": [
9275
{
9276
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9277
"captures": {
9278
"1": {
9279
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9280
},
9281
"2": {
9282
"name": "comment.block.cuda-cpp"
9283
},
9284
"3": {
9285
"patterns": [
9286
{
9287
"match": "\\*\\/",
9288
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9289
},
9290
{
9291
"match": "\\*",
9292
"name": "comment.block.cuda-cpp"
9293
}
9294
]
9295
}
9296
}
9297
}
9298
]
9299
},
9300
"14": {
9301
"name": "variable.other.object.declare.cuda-cpp"
9302
},
9303
"15": {
9304
"patterns": [
9305
{
9306
"include": "#inline_comment"
9307
}
9308
]
9309
},
9310
"16": {
9311
"patterns": [
9312
{
9313
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9314
"captures": {
9315
"1": {
9316
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9317
},
9318
"2": {
9319
"name": "comment.block.cuda-cpp"
9320
},
9321
"3": {
9322
"patterns": [
9323
{
9324
"match": "\\*\\/",
9325
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9326
},
9327
{
9328
"match": "\\*",
9329
"name": "comment.block.cuda-cpp"
9330
}
9331
]
9332
}
9333
}
9334
}
9335
]
9336
},
9337
"17": {
9338
"patterns": [
9339
{
9340
"include": "#inline_comment"
9341
}
9342
]
9343
},
9344
"18": {
9345
"patterns": [
9346
{
9347
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9348
"captures": {
9349
"1": {
9350
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9351
},
9352
"2": {
9353
"name": "comment.block.cuda-cpp"
9354
},
9355
"3": {
9356
"patterns": [
9357
{
9358
"match": "\\*\\/",
9359
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9360
},
9361
{
9362
"match": "\\*",
9363
"name": "comment.block.cuda-cpp"
9364
}
9365
]
9366
}
9367
}
9368
}
9369
]
9370
},
9371
"19": {
9372
"patterns": [
9373
{
9374
"include": "#inline_comment"
9375
}
9376
]
9377
},
9378
"20": {
9379
"patterns": [
9380
{
9381
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9382
"captures": {
9383
"1": {
9384
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9385
},
9386
"2": {
9387
"name": "comment.block.cuda-cpp"
9388
},
9389
"3": {
9390
"patterns": [
9391
{
9392
"match": "\\*\\/",
9393
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9394
},
9395
{
9396
"match": "\\*",
9397
"name": "comment.block.cuda-cpp"
9398
}
9399
]
9400
}
9401
}
9402
}
9403
]
9404
}
9405
}
9406
},
9407
{
9408
"match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9409
"captures": {
9410
"1": {
9411
"name": "storage.type.enum.parameter.cuda-cpp"
9412
},
9413
"2": {
9414
"patterns": [
9415
{
9416
"include": "#inline_comment"
9417
}
9418
]
9419
},
9420
"3": {
9421
"patterns": [
9422
{
9423
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9424
"captures": {
9425
"1": {
9426
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9427
},
9428
"2": {
9429
"name": "comment.block.cuda-cpp"
9430
},
9431
"3": {
9432
"patterns": [
9433
{
9434
"match": "\\*\\/",
9435
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9436
},
9437
{
9438
"match": "\\*",
9439
"name": "comment.block.cuda-cpp"
9440
}
9441
]
9442
}
9443
}
9444
}
9445
]
9446
},
9447
"4": {
9448
"name": "entity.name.type.enum.parameter.cuda-cpp"
9449
},
9450
"5": {
9451
"patterns": [
9452
{
9453
"include": "#inline_comment"
9454
}
9455
]
9456
},
9457
"6": {
9458
"patterns": [
9459
{
9460
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9461
"captures": {
9462
"1": {
9463
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9464
},
9465
"2": {
9466
"name": "comment.block.cuda-cpp"
9467
},
9468
"3": {
9469
"patterns": [
9470
{
9471
"match": "\\*\\/",
9472
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9473
},
9474
{
9475
"match": "\\*",
9476
"name": "comment.block.cuda-cpp"
9477
}
9478
]
9479
}
9480
}
9481
}
9482
]
9483
},
9484
"7": {
9485
"patterns": [
9486
{
9487
"match": "\\*",
9488
"name": "storage.modifier.pointer.cuda-cpp"
9489
},
9490
{
9491
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
9492
"captures": {
9493
"1": {
9494
"patterns": [
9495
{
9496
"include": "#inline_comment"
9497
}
9498
]
9499
},
9500
"2": {
9501
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9502
},
9503
"3": {
9504
"name": "comment.block.cuda-cpp"
9505
},
9506
"4": {
9507
"patterns": [
9508
{
9509
"match": "\\*\\/",
9510
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9511
},
9512
{
9513
"match": "\\*",
9514
"name": "comment.block.cuda-cpp"
9515
}
9516
]
9517
}
9518
},
9519
"name": "invalid.illegal.reference-type.cuda-cpp"
9520
},
9521
{
9522
"match": "\\&",
9523
"name": "storage.modifier.reference.cuda-cpp"
9524
}
9525
]
9526
},
9527
"8": {
9528
"patterns": [
9529
{
9530
"include": "#inline_comment"
9531
}
9532
]
9533
},
9534
"9": {
9535
"patterns": [
9536
{
9537
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9538
"captures": {
9539
"1": {
9540
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9541
},
9542
"2": {
9543
"name": "comment.block.cuda-cpp"
9544
},
9545
"3": {
9546
"patterns": [
9547
{
9548
"match": "\\*\\/",
9549
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9550
},
9551
{
9552
"match": "\\*",
9553
"name": "comment.block.cuda-cpp"
9554
}
9555
]
9556
}
9557
}
9558
}
9559
]
9560
},
9561
"10": {
9562
"patterns": [
9563
{
9564
"include": "#inline_comment"
9565
}
9566
]
9567
},
9568
"11": {
9569
"patterns": [
9570
{
9571
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9572
"captures": {
9573
"1": {
9574
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9575
},
9576
"2": {
9577
"name": "comment.block.cuda-cpp"
9578
},
9579
"3": {
9580
"patterns": [
9581
{
9582
"match": "\\*\\/",
9583
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9584
},
9585
{
9586
"match": "\\*",
9587
"name": "comment.block.cuda-cpp"
9588
}
9589
]
9590
}
9591
}
9592
}
9593
]
9594
},
9595
"12": {
9596
"patterns": [
9597
{
9598
"include": "#inline_comment"
9599
}
9600
]
9601
},
9602
"13": {
9603
"patterns": [
9604
{
9605
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9606
"captures": {
9607
"1": {
9608
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9609
},
9610
"2": {
9611
"name": "comment.block.cuda-cpp"
9612
},
9613
"3": {
9614
"patterns": [
9615
{
9616
"match": "\\*\\/",
9617
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9618
},
9619
{
9620
"match": "\\*",
9621
"name": "comment.block.cuda-cpp"
9622
}
9623
]
9624
}
9625
}
9626
}
9627
]
9628
},
9629
"14": {
9630
"name": "variable.other.object.declare.cuda-cpp"
9631
},
9632
"15": {
9633
"patterns": [
9634
{
9635
"include": "#inline_comment"
9636
}
9637
]
9638
},
9639
"16": {
9640
"patterns": [
9641
{
9642
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9643
"captures": {
9644
"1": {
9645
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9646
},
9647
"2": {
9648
"name": "comment.block.cuda-cpp"
9649
},
9650
"3": {
9651
"patterns": [
9652
{
9653
"match": "\\*\\/",
9654
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9655
},
9656
{
9657
"match": "\\*",
9658
"name": "comment.block.cuda-cpp"
9659
}
9660
]
9661
}
9662
}
9663
}
9664
]
9665
},
9666
"17": {
9667
"patterns": [
9668
{
9669
"include": "#inline_comment"
9670
}
9671
]
9672
},
9673
"18": {
9674
"patterns": [
9675
{
9676
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9677
"captures": {
9678
"1": {
9679
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9680
},
9681
"2": {
9682
"name": "comment.block.cuda-cpp"
9683
},
9684
"3": {
9685
"patterns": [
9686
{
9687
"match": "\\*\\/",
9688
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9689
},
9690
{
9691
"match": "\\*",
9692
"name": "comment.block.cuda-cpp"
9693
}
9694
]
9695
}
9696
}
9697
}
9698
]
9699
},
9700
"19": {
9701
"patterns": [
9702
{
9703
"include": "#inline_comment"
9704
}
9705
]
9706
},
9707
"20": {
9708
"patterns": [
9709
{
9710
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9711
"captures": {
9712
"1": {
9713
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9714
},
9715
"2": {
9716
"name": "comment.block.cuda-cpp"
9717
},
9718
"3": {
9719
"patterns": [
9720
{
9721
"match": "\\*\\/",
9722
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9723
},
9724
{
9725
"match": "\\*",
9726
"name": "comment.block.cuda-cpp"
9727
}
9728
]
9729
}
9730
}
9731
}
9732
]
9733
}
9734
}
9735
},
9736
{
9737
"match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
9738
"captures": {
9739
"1": {
9740
"name": "storage.type.union.parameter.cuda-cpp"
9741
},
9742
"2": {
9743
"patterns": [
9744
{
9745
"include": "#inline_comment"
9746
}
9747
]
9748
},
9749
"3": {
9750
"patterns": [
9751
{
9752
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9753
"captures": {
9754
"1": {
9755
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9756
},
9757
"2": {
9758
"name": "comment.block.cuda-cpp"
9759
},
9760
"3": {
9761
"patterns": [
9762
{
9763
"match": "\\*\\/",
9764
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9765
},
9766
{
9767
"match": "\\*",
9768
"name": "comment.block.cuda-cpp"
9769
}
9770
]
9771
}
9772
}
9773
}
9774
]
9775
},
9776
"4": {
9777
"name": "entity.name.type.union.parameter.cuda-cpp"
9778
},
9779
"5": {
9780
"patterns": [
9781
{
9782
"include": "#inline_comment"
9783
}
9784
]
9785
},
9786
"6": {
9787
"patterns": [
9788
{
9789
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9790
"captures": {
9791
"1": {
9792
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9793
},
9794
"2": {
9795
"name": "comment.block.cuda-cpp"
9796
},
9797
"3": {
9798
"patterns": [
9799
{
9800
"match": "\\*\\/",
9801
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9802
},
9803
{
9804
"match": "\\*",
9805
"name": "comment.block.cuda-cpp"
9806
}
9807
]
9808
}
9809
}
9810
}
9811
]
9812
},
9813
"7": {
9814
"patterns": [
9815
{
9816
"match": "\\*",
9817
"name": "storage.modifier.pointer.cuda-cpp"
9818
},
9819
{
9820
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
9821
"captures": {
9822
"1": {
9823
"patterns": [
9824
{
9825
"include": "#inline_comment"
9826
}
9827
]
9828
},
9829
"2": {
9830
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9831
},
9832
"3": {
9833
"name": "comment.block.cuda-cpp"
9834
},
9835
"4": {
9836
"patterns": [
9837
{
9838
"match": "\\*\\/",
9839
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9840
},
9841
{
9842
"match": "\\*",
9843
"name": "comment.block.cuda-cpp"
9844
}
9845
]
9846
}
9847
},
9848
"name": "invalid.illegal.reference-type.cuda-cpp"
9849
},
9850
{
9851
"match": "\\&",
9852
"name": "storage.modifier.reference.cuda-cpp"
9853
}
9854
]
9855
},
9856
"8": {
9857
"patterns": [
9858
{
9859
"include": "#inline_comment"
9860
}
9861
]
9862
},
9863
"9": {
9864
"patterns": [
9865
{
9866
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9867
"captures": {
9868
"1": {
9869
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9870
},
9871
"2": {
9872
"name": "comment.block.cuda-cpp"
9873
},
9874
"3": {
9875
"patterns": [
9876
{
9877
"match": "\\*\\/",
9878
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9879
},
9880
{
9881
"match": "\\*",
9882
"name": "comment.block.cuda-cpp"
9883
}
9884
]
9885
}
9886
}
9887
}
9888
]
9889
},
9890
"10": {
9891
"patterns": [
9892
{
9893
"include": "#inline_comment"
9894
}
9895
]
9896
},
9897
"11": {
9898
"patterns": [
9899
{
9900
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9901
"captures": {
9902
"1": {
9903
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9904
},
9905
"2": {
9906
"name": "comment.block.cuda-cpp"
9907
},
9908
"3": {
9909
"patterns": [
9910
{
9911
"match": "\\*\\/",
9912
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9913
},
9914
{
9915
"match": "\\*",
9916
"name": "comment.block.cuda-cpp"
9917
}
9918
]
9919
}
9920
}
9921
}
9922
]
9923
},
9924
"12": {
9925
"patterns": [
9926
{
9927
"include": "#inline_comment"
9928
}
9929
]
9930
},
9931
"13": {
9932
"patterns": [
9933
{
9934
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9935
"captures": {
9936
"1": {
9937
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9938
},
9939
"2": {
9940
"name": "comment.block.cuda-cpp"
9941
},
9942
"3": {
9943
"patterns": [
9944
{
9945
"match": "\\*\\/",
9946
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9947
},
9948
{
9949
"match": "\\*",
9950
"name": "comment.block.cuda-cpp"
9951
}
9952
]
9953
}
9954
}
9955
}
9956
]
9957
},
9958
"14": {
9959
"name": "variable.other.object.declare.cuda-cpp"
9960
},
9961
"15": {
9962
"patterns": [
9963
{
9964
"include": "#inline_comment"
9965
}
9966
]
9967
},
9968
"16": {
9969
"patterns": [
9970
{
9971
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
9972
"captures": {
9973
"1": {
9974
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
9975
},
9976
"2": {
9977
"name": "comment.block.cuda-cpp"
9978
},
9979
"3": {
9980
"patterns": [
9981
{
9982
"match": "\\*\\/",
9983
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
9984
},
9985
{
9986
"match": "\\*",
9987
"name": "comment.block.cuda-cpp"
9988
}
9989
]
9990
}
9991
}
9992
}
9993
]
9994
},
9995
"17": {
9996
"patterns": [
9997
{
9998
"include": "#inline_comment"
9999
}
10000
]
10001
},
10002
"18": {
10003
"patterns": [
10004
{
10005
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10006
"captures": {
10007
"1": {
10008
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10009
},
10010
"2": {
10011
"name": "comment.block.cuda-cpp"
10012
},
10013
"3": {
10014
"patterns": [
10015
{
10016
"match": "\\*\\/",
10017
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10018
},
10019
{
10020
"match": "\\*",
10021
"name": "comment.block.cuda-cpp"
10022
}
10023
]
10024
}
10025
}
10026
}
10027
]
10028
},
10029
"19": {
10030
"patterns": [
10031
{
10032
"include": "#inline_comment"
10033
}
10034
]
10035
},
10036
"20": {
10037
"patterns": [
10038
{
10039
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10040
"captures": {
10041
"1": {
10042
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10043
},
10044
"2": {
10045
"name": "comment.block.cuda-cpp"
10046
},
10047
"3": {
10048
"patterns": [
10049
{
10050
"match": "\\*\\/",
10051
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10052
},
10053
{
10054
"match": "\\*",
10055
"name": "comment.block.cuda-cpp"
10056
}
10057
]
10058
}
10059
}
10060
}
10061
]
10062
}
10063
}
10064
},
10065
{
10066
"match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
10067
"captures": {
10068
"1": {
10069
"name": "storage.type.class.parameter.cuda-cpp"
10070
},
10071
"2": {
10072
"patterns": [
10073
{
10074
"include": "#inline_comment"
10075
}
10076
]
10077
},
10078
"3": {
10079
"patterns": [
10080
{
10081
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10082
"captures": {
10083
"1": {
10084
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10085
},
10086
"2": {
10087
"name": "comment.block.cuda-cpp"
10088
},
10089
"3": {
10090
"patterns": [
10091
{
10092
"match": "\\*\\/",
10093
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10094
},
10095
{
10096
"match": "\\*",
10097
"name": "comment.block.cuda-cpp"
10098
}
10099
]
10100
}
10101
}
10102
}
10103
]
10104
},
10105
"4": {
10106
"name": "entity.name.type.class.parameter.cuda-cpp"
10107
},
10108
"5": {
10109
"patterns": [
10110
{
10111
"include": "#inline_comment"
10112
}
10113
]
10114
},
10115
"6": {
10116
"patterns": [
10117
{
10118
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10119
"captures": {
10120
"1": {
10121
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10122
},
10123
"2": {
10124
"name": "comment.block.cuda-cpp"
10125
},
10126
"3": {
10127
"patterns": [
10128
{
10129
"match": "\\*\\/",
10130
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10131
},
10132
{
10133
"match": "\\*",
10134
"name": "comment.block.cuda-cpp"
10135
}
10136
]
10137
}
10138
}
10139
}
10140
]
10141
},
10142
"7": {
10143
"patterns": [
10144
{
10145
"match": "\\*",
10146
"name": "storage.modifier.pointer.cuda-cpp"
10147
},
10148
{
10149
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
10150
"captures": {
10151
"1": {
10152
"patterns": [
10153
{
10154
"include": "#inline_comment"
10155
}
10156
]
10157
},
10158
"2": {
10159
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10160
},
10161
"3": {
10162
"name": "comment.block.cuda-cpp"
10163
},
10164
"4": {
10165
"patterns": [
10166
{
10167
"match": "\\*\\/",
10168
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10169
},
10170
{
10171
"match": "\\*",
10172
"name": "comment.block.cuda-cpp"
10173
}
10174
]
10175
}
10176
},
10177
"name": "invalid.illegal.reference-type.cuda-cpp"
10178
},
10179
{
10180
"match": "\\&",
10181
"name": "storage.modifier.reference.cuda-cpp"
10182
}
10183
]
10184
},
10185
"8": {
10186
"patterns": [
10187
{
10188
"include": "#inline_comment"
10189
}
10190
]
10191
},
10192
"9": {
10193
"patterns": [
10194
{
10195
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10196
"captures": {
10197
"1": {
10198
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10199
},
10200
"2": {
10201
"name": "comment.block.cuda-cpp"
10202
},
10203
"3": {
10204
"patterns": [
10205
{
10206
"match": "\\*\\/",
10207
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10208
},
10209
{
10210
"match": "\\*",
10211
"name": "comment.block.cuda-cpp"
10212
}
10213
]
10214
}
10215
}
10216
}
10217
]
10218
},
10219
"10": {
10220
"patterns": [
10221
{
10222
"include": "#inline_comment"
10223
}
10224
]
10225
},
10226
"11": {
10227
"patterns": [
10228
{
10229
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10230
"captures": {
10231
"1": {
10232
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10233
},
10234
"2": {
10235
"name": "comment.block.cuda-cpp"
10236
},
10237
"3": {
10238
"patterns": [
10239
{
10240
"match": "\\*\\/",
10241
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10242
},
10243
{
10244
"match": "\\*",
10245
"name": "comment.block.cuda-cpp"
10246
}
10247
]
10248
}
10249
}
10250
}
10251
]
10252
},
10253
"12": {
10254
"patterns": [
10255
{
10256
"include": "#inline_comment"
10257
}
10258
]
10259
},
10260
"13": {
10261
"patterns": [
10262
{
10263
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10264
"captures": {
10265
"1": {
10266
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10267
},
10268
"2": {
10269
"name": "comment.block.cuda-cpp"
10270
},
10271
"3": {
10272
"patterns": [
10273
{
10274
"match": "\\*\\/",
10275
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10276
},
10277
{
10278
"match": "\\*",
10279
"name": "comment.block.cuda-cpp"
10280
}
10281
]
10282
}
10283
}
10284
}
10285
]
10286
},
10287
"14": {
10288
"name": "variable.other.object.declare.cuda-cpp"
10289
},
10290
"15": {
10291
"patterns": [
10292
{
10293
"include": "#inline_comment"
10294
}
10295
]
10296
},
10297
"16": {
10298
"patterns": [
10299
{
10300
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10301
"captures": {
10302
"1": {
10303
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10304
},
10305
"2": {
10306
"name": "comment.block.cuda-cpp"
10307
},
10308
"3": {
10309
"patterns": [
10310
{
10311
"match": "\\*\\/",
10312
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10313
},
10314
{
10315
"match": "\\*",
10316
"name": "comment.block.cuda-cpp"
10317
}
10318
]
10319
}
10320
}
10321
}
10322
]
10323
},
10324
"17": {
10325
"patterns": [
10326
{
10327
"include": "#inline_comment"
10328
}
10329
]
10330
},
10331
"18": {
10332
"patterns": [
10333
{
10334
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10335
"captures": {
10336
"1": {
10337
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10338
},
10339
"2": {
10340
"name": "comment.block.cuda-cpp"
10341
},
10342
"3": {
10343
"patterns": [
10344
{
10345
"match": "\\*\\/",
10346
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10347
},
10348
{
10349
"match": "\\*",
10350
"name": "comment.block.cuda-cpp"
10351
}
10352
]
10353
}
10354
}
10355
}
10356
]
10357
},
10358
"19": {
10359
"patterns": [
10360
{
10361
"include": "#inline_comment"
10362
}
10363
]
10364
},
10365
"20": {
10366
"patterns": [
10367
{
10368
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10369
"captures": {
10370
"1": {
10371
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10372
},
10373
"2": {
10374
"name": "comment.block.cuda-cpp"
10375
},
10376
"3": {
10377
"patterns": [
10378
{
10379
"match": "\\*\\/",
10380
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10381
},
10382
{
10383
"match": "\\*",
10384
"name": "comment.block.cuda-cpp"
10385
}
10386
]
10387
}
10388
}
10389
}
10390
]
10391
}
10392
}
10393
}
10394
]
10395
},
10396
"parameter": {
10397
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",
10398
"end": "(?:(?=\\))|(,))",
10399
"beginCaptures": {
10400
"1": {
10401
"patterns": [
10402
{
10403
"include": "#inline_comment"
10404
}
10405
]
10406
},
10407
"2": {
10408
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10409
},
10410
"3": {
10411
"name": "comment.block.cuda-cpp"
10412
},
10413
"4": {
10414
"patterns": [
10415
{
10416
"match": "\\*\\/",
10417
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10418
},
10419
{
10420
"match": "\\*",
10421
"name": "comment.block.cuda-cpp"
10422
}
10423
]
10424
}
10425
},
10426
"endCaptures": {
10427
"1": {
10428
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
10429
}
10430
},
10431
"name": "meta.parameter.cuda-cpp",
10432
"patterns": [
10433
{
10434
"include": "#ever_present_context"
10435
},
10436
{
10437
"include": "#function_pointer_parameter"
10438
},
10439
{
10440
"include": "#decltype"
10441
},
10442
{
10443
"include": "#vararg_ellipses"
10444
},
10445
{
10446
"match": "((?:((?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__managed__|^__managed__|\\W__shared__|^__shared__|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
10447
"captures": {
10448
"1": {
10449
"patterns": [
10450
{
10451
"include": "#storage_types"
10452
}
10453
]
10454
},
10455
"2": {
10456
"name": "storage.modifier.specifier.parameter.cuda-cpp"
10457
},
10458
"3": {
10459
"patterns": [
10460
{
10461
"include": "#inline_comment"
10462
}
10463
]
10464
},
10465
"4": {
10466
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10467
},
10468
"5": {
10469
"name": "comment.block.cuda-cpp"
10470
},
10471
"6": {
10472
"patterns": [
10473
{
10474
"match": "\\*\\/",
10475
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10476
},
10477
{
10478
"match": "\\*",
10479
"name": "comment.block.cuda-cpp"
10480
}
10481
]
10482
},
10483
"7": {
10484
"patterns": [
10485
{
10486
"include": "#inline_comment"
10487
}
10488
]
10489
},
10490
"8": {
10491
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10492
},
10493
"9": {
10494
"name": "comment.block.cuda-cpp"
10495
},
10496
"10": {
10497
"patterns": [
10498
{
10499
"match": "\\*\\/",
10500
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10501
},
10502
{
10503
"match": "\\*",
10504
"name": "comment.block.cuda-cpp"
10505
}
10506
]
10507
},
10508
"11": {
10509
"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"
10510
},
10511
"12": {
10512
"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"
10513
},
10514
"13": {
10515
"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"
10516
},
10517
"14": {
10518
"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"
10519
},
10520
"15": {
10521
"name": "entity.name.type.parameter.cuda-cpp"
10522
},
10523
"16": {
10524
"patterns": [
10525
{
10526
"include": "#inline_comment"
10527
}
10528
]
10529
},
10530
"17": {
10531
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10532
},
10533
"18": {
10534
"name": "comment.block.cuda-cpp"
10535
},
10536
"19": {
10537
"patterns": [
10538
{
10539
"match": "\\*\\/",
10540
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10541
},
10542
{
10543
"match": "\\*",
10544
"name": "comment.block.cuda-cpp"
10545
}
10546
]
10547
}
10548
}
10549
},
10550
{
10551
"include": "#storage_types"
10552
},
10553
{
10554
"include": "#scope_resolution_parameter_inner_generated"
10555
},
10556
{
10557
"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
10558
"name": "storage.type.$0.cuda-cpp"
10559
},
10560
{
10561
"begin": "(?<==)",
10562
"end": "(?:(?=\\))|(,))",
10563
"beginCaptures": {},
10564
"endCaptures": {
10565
"1": {
10566
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
10567
}
10568
},
10569
"patterns": [
10570
{
10571
"include": "#evaluation_context"
10572
}
10573
]
10574
},
10575
{
10576
"match": "\\=",
10577
"name": "keyword.operator.assignment.cuda-cpp"
10578
},
10579
{
10580
"match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\)|,|\\[|=|\\n)",
10581
"captures": {
10582
"1": {
10583
"patterns": [
10584
{
10585
"include": "#inline_comment"
10586
}
10587
]
10588
},
10589
"2": {
10590
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10591
},
10592
"3": {
10593
"name": "comment.block.cuda-cpp"
10594
},
10595
"4": {
10596
"patterns": [
10597
{
10598
"match": "\\*\\/",
10599
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10600
},
10601
{
10602
"match": "\\*",
10603
"name": "comment.block.cuda-cpp"
10604
}
10605
]
10606
},
10607
"5": {
10608
"name": "variable.parameter.cuda-cpp"
10609
},
10610
"6": {
10611
"patterns": [
10612
{
10613
"include": "#inline_comment"
10614
}
10615
]
10616
},
10617
"7": {
10618
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10619
},
10620
"8": {
10621
"name": "comment.block.cuda-cpp"
10622
},
10623
"9": {
10624
"patterns": [
10625
{
10626
"match": "\\*\\/",
10627
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10628
},
10629
{
10630
"match": "\\*",
10631
"name": "comment.block.cuda-cpp"
10632
}
10633
]
10634
}
10635
}
10636
},
10637
{
10638
"include": "#attributes_context"
10639
},
10640
{
10641
"begin": "\\[",
10642
"end": "\\]",
10643
"beginCaptures": {
10644
"0": {
10645
"name": "punctuation.definition.begin.bracket.square.array.type.cuda-cpp"
10646
}
10647
},
10648
"endCaptures": {
10649
"0": {
10650
"name": "punctuation.definition.end.bracket.square.array.type.cuda-cpp"
10651
}
10652
},
10653
"name": "meta.bracket.square.array.cuda-cpp",
10654
"patterns": [
10655
{
10656
"include": "#evaluation_context"
10657
}
10658
]
10659
},
10660
{
10661
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",
10662
"name": "entity.name.type.parameter.cuda-cpp"
10663
},
10664
{
10665
"include": "#template_call_range"
10666
},
10667
{
10668
"match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
10669
"captures": {
10670
"0": {
10671
"patterns": [
10672
{
10673
"match": "\\*",
10674
"name": "storage.modifier.pointer.cuda-cpp"
10675
},
10676
{
10677
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
10678
"captures": {
10679
"1": {
10680
"patterns": [
10681
{
10682
"include": "#inline_comment"
10683
}
10684
]
10685
},
10686
"2": {
10687
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10688
},
10689
"3": {
10690
"name": "comment.block.cuda-cpp"
10691
},
10692
"4": {
10693
"patterns": [
10694
{
10695
"match": "\\*\\/",
10696
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10697
},
10698
{
10699
"match": "\\*",
10700
"name": "comment.block.cuda-cpp"
10701
}
10702
]
10703
}
10704
},
10705
"name": "invalid.illegal.reference-type.cuda-cpp"
10706
},
10707
{
10708
"match": "\\&",
10709
"name": "storage.modifier.reference.cuda-cpp"
10710
}
10711
]
10712
},
10713
"1": {
10714
"patterns": [
10715
{
10716
"include": "#inline_comment"
10717
}
10718
]
10719
},
10720
"2": {
10721
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10722
},
10723
"3": {
10724
"name": "comment.block.cuda-cpp"
10725
},
10726
"4": {
10727
"patterns": [
10728
{
10729
"match": "\\*\\/",
10730
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10731
},
10732
{
10733
"match": "\\*",
10734
"name": "comment.block.cuda-cpp"
10735
}
10736
]
10737
},
10738
"5": {
10739
"patterns": [
10740
{
10741
"include": "#inline_comment"
10742
}
10743
]
10744
},
10745
"6": {
10746
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10747
},
10748
"7": {
10749
"name": "comment.block.cuda-cpp"
10750
},
10751
"8": {
10752
"patterns": [
10753
{
10754
"match": "\\*\\/",
10755
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10756
},
10757
{
10758
"match": "\\*",
10759
"name": "comment.block.cuda-cpp"
10760
}
10761
]
10762
}
10763
}
10764
}
10765
]
10766
},
10767
"parameter_class": {
10768
"match": "(class)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
10769
"captures": {
10770
"1": {
10771
"name": "storage.type.class.parameter.cuda-cpp"
10772
},
10773
"2": {
10774
"patterns": [
10775
{
10776
"include": "#inline_comment"
10777
}
10778
]
10779
},
10780
"3": {
10781
"patterns": [
10782
{
10783
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10784
"captures": {
10785
"1": {
10786
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10787
},
10788
"2": {
10789
"name": "comment.block.cuda-cpp"
10790
},
10791
"3": {
10792
"patterns": [
10793
{
10794
"match": "\\*\\/",
10795
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10796
},
10797
{
10798
"match": "\\*",
10799
"name": "comment.block.cuda-cpp"
10800
}
10801
]
10802
}
10803
}
10804
}
10805
]
10806
},
10807
"4": {
10808
"name": "entity.name.type.class.parameter.cuda-cpp"
10809
},
10810
"5": {
10811
"patterns": [
10812
{
10813
"include": "#inline_comment"
10814
}
10815
]
10816
},
10817
"6": {
10818
"patterns": [
10819
{
10820
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10821
"captures": {
10822
"1": {
10823
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10824
},
10825
"2": {
10826
"name": "comment.block.cuda-cpp"
10827
},
10828
"3": {
10829
"patterns": [
10830
{
10831
"match": "\\*\\/",
10832
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10833
},
10834
{
10835
"match": "\\*",
10836
"name": "comment.block.cuda-cpp"
10837
}
10838
]
10839
}
10840
}
10841
}
10842
]
10843
},
10844
"7": {
10845
"patterns": [
10846
{
10847
"match": "\\*",
10848
"name": "storage.modifier.pointer.cuda-cpp"
10849
},
10850
{
10851
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
10852
"captures": {
10853
"1": {
10854
"patterns": [
10855
{
10856
"include": "#inline_comment"
10857
}
10858
]
10859
},
10860
"2": {
10861
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10862
},
10863
"3": {
10864
"name": "comment.block.cuda-cpp"
10865
},
10866
"4": {
10867
"patterns": [
10868
{
10869
"match": "\\*\\/",
10870
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10871
},
10872
{
10873
"match": "\\*",
10874
"name": "comment.block.cuda-cpp"
10875
}
10876
]
10877
}
10878
},
10879
"name": "invalid.illegal.reference-type.cuda-cpp"
10880
},
10881
{
10882
"match": "\\&",
10883
"name": "storage.modifier.reference.cuda-cpp"
10884
}
10885
]
10886
},
10887
"8": {
10888
"patterns": [
10889
{
10890
"include": "#inline_comment"
10891
}
10892
]
10893
},
10894
"9": {
10895
"patterns": [
10896
{
10897
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10898
"captures": {
10899
"1": {
10900
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10901
},
10902
"2": {
10903
"name": "comment.block.cuda-cpp"
10904
},
10905
"3": {
10906
"patterns": [
10907
{
10908
"match": "\\*\\/",
10909
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10910
},
10911
{
10912
"match": "\\*",
10913
"name": "comment.block.cuda-cpp"
10914
}
10915
]
10916
}
10917
}
10918
}
10919
]
10920
},
10921
"10": {
10922
"patterns": [
10923
{
10924
"include": "#inline_comment"
10925
}
10926
]
10927
},
10928
"11": {
10929
"patterns": [
10930
{
10931
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10932
"captures": {
10933
"1": {
10934
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10935
},
10936
"2": {
10937
"name": "comment.block.cuda-cpp"
10938
},
10939
"3": {
10940
"patterns": [
10941
{
10942
"match": "\\*\\/",
10943
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10944
},
10945
{
10946
"match": "\\*",
10947
"name": "comment.block.cuda-cpp"
10948
}
10949
]
10950
}
10951
}
10952
}
10953
]
10954
},
10955
"12": {
10956
"patterns": [
10957
{
10958
"include": "#inline_comment"
10959
}
10960
]
10961
},
10962
"13": {
10963
"patterns": [
10964
{
10965
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
10966
"captures": {
10967
"1": {
10968
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
10969
},
10970
"2": {
10971
"name": "comment.block.cuda-cpp"
10972
},
10973
"3": {
10974
"patterns": [
10975
{
10976
"match": "\\*\\/",
10977
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
10978
},
10979
{
10980
"match": "\\*",
10981
"name": "comment.block.cuda-cpp"
10982
}
10983
]
10984
}
10985
}
10986
}
10987
]
10988
},
10989
"14": {
10990
"name": "variable.other.object.declare.cuda-cpp"
10991
},
10992
"15": {
10993
"patterns": [
10994
{
10995
"include": "#inline_comment"
10996
}
10997
]
10998
},
10999
"16": {
11000
"patterns": [
11001
{
11002
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11003
"captures": {
11004
"1": {
11005
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11006
},
11007
"2": {
11008
"name": "comment.block.cuda-cpp"
11009
},
11010
"3": {
11011
"patterns": [
11012
{
11013
"match": "\\*\\/",
11014
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11015
},
11016
{
11017
"match": "\\*",
11018
"name": "comment.block.cuda-cpp"
11019
}
11020
]
11021
}
11022
}
11023
}
11024
]
11025
},
11026
"17": {
11027
"patterns": [
11028
{
11029
"include": "#inline_comment"
11030
}
11031
]
11032
},
11033
"18": {
11034
"patterns": [
11035
{
11036
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11037
"captures": {
11038
"1": {
11039
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11040
},
11041
"2": {
11042
"name": "comment.block.cuda-cpp"
11043
},
11044
"3": {
11045
"patterns": [
11046
{
11047
"match": "\\*\\/",
11048
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11049
},
11050
{
11051
"match": "\\*",
11052
"name": "comment.block.cuda-cpp"
11053
}
11054
]
11055
}
11056
}
11057
}
11058
]
11059
},
11060
"19": {
11061
"patterns": [
11062
{
11063
"include": "#inline_comment"
11064
}
11065
]
11066
},
11067
"20": {
11068
"patterns": [
11069
{
11070
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11071
"captures": {
11072
"1": {
11073
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11074
},
11075
"2": {
11076
"name": "comment.block.cuda-cpp"
11077
},
11078
"3": {
11079
"patterns": [
11080
{
11081
"match": "\\*\\/",
11082
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11083
},
11084
{
11085
"match": "\\*",
11086
"name": "comment.block.cuda-cpp"
11087
}
11088
]
11089
}
11090
}
11091
}
11092
]
11093
}
11094
}
11095
},
11096
"parameter_enum": {
11097
"match": "(enum)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
11098
"captures": {
11099
"1": {
11100
"name": "storage.type.enum.parameter.cuda-cpp"
11101
},
11102
"2": {
11103
"patterns": [
11104
{
11105
"include": "#inline_comment"
11106
}
11107
]
11108
},
11109
"3": {
11110
"patterns": [
11111
{
11112
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11113
"captures": {
11114
"1": {
11115
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11116
},
11117
"2": {
11118
"name": "comment.block.cuda-cpp"
11119
},
11120
"3": {
11121
"patterns": [
11122
{
11123
"match": "\\*\\/",
11124
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11125
},
11126
{
11127
"match": "\\*",
11128
"name": "comment.block.cuda-cpp"
11129
}
11130
]
11131
}
11132
}
11133
}
11134
]
11135
},
11136
"4": {
11137
"name": "entity.name.type.enum.parameter.cuda-cpp"
11138
},
11139
"5": {
11140
"patterns": [
11141
{
11142
"include": "#inline_comment"
11143
}
11144
]
11145
},
11146
"6": {
11147
"patterns": [
11148
{
11149
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11150
"captures": {
11151
"1": {
11152
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11153
},
11154
"2": {
11155
"name": "comment.block.cuda-cpp"
11156
},
11157
"3": {
11158
"patterns": [
11159
{
11160
"match": "\\*\\/",
11161
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11162
},
11163
{
11164
"match": "\\*",
11165
"name": "comment.block.cuda-cpp"
11166
}
11167
]
11168
}
11169
}
11170
}
11171
]
11172
},
11173
"7": {
11174
"patterns": [
11175
{
11176
"match": "\\*",
11177
"name": "storage.modifier.pointer.cuda-cpp"
11178
},
11179
{
11180
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
11181
"captures": {
11182
"1": {
11183
"patterns": [
11184
{
11185
"include": "#inline_comment"
11186
}
11187
]
11188
},
11189
"2": {
11190
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11191
},
11192
"3": {
11193
"name": "comment.block.cuda-cpp"
11194
},
11195
"4": {
11196
"patterns": [
11197
{
11198
"match": "\\*\\/",
11199
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11200
},
11201
{
11202
"match": "\\*",
11203
"name": "comment.block.cuda-cpp"
11204
}
11205
]
11206
}
11207
},
11208
"name": "invalid.illegal.reference-type.cuda-cpp"
11209
},
11210
{
11211
"match": "\\&",
11212
"name": "storage.modifier.reference.cuda-cpp"
11213
}
11214
]
11215
},
11216
"8": {
11217
"patterns": [
11218
{
11219
"include": "#inline_comment"
11220
}
11221
]
11222
},
11223
"9": {
11224
"patterns": [
11225
{
11226
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11227
"captures": {
11228
"1": {
11229
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11230
},
11231
"2": {
11232
"name": "comment.block.cuda-cpp"
11233
},
11234
"3": {
11235
"patterns": [
11236
{
11237
"match": "\\*\\/",
11238
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11239
},
11240
{
11241
"match": "\\*",
11242
"name": "comment.block.cuda-cpp"
11243
}
11244
]
11245
}
11246
}
11247
}
11248
]
11249
},
11250
"10": {
11251
"patterns": [
11252
{
11253
"include": "#inline_comment"
11254
}
11255
]
11256
},
11257
"11": {
11258
"patterns": [
11259
{
11260
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11261
"captures": {
11262
"1": {
11263
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11264
},
11265
"2": {
11266
"name": "comment.block.cuda-cpp"
11267
},
11268
"3": {
11269
"patterns": [
11270
{
11271
"match": "\\*\\/",
11272
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11273
},
11274
{
11275
"match": "\\*",
11276
"name": "comment.block.cuda-cpp"
11277
}
11278
]
11279
}
11280
}
11281
}
11282
]
11283
},
11284
"12": {
11285
"patterns": [
11286
{
11287
"include": "#inline_comment"
11288
}
11289
]
11290
},
11291
"13": {
11292
"patterns": [
11293
{
11294
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11295
"captures": {
11296
"1": {
11297
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11298
},
11299
"2": {
11300
"name": "comment.block.cuda-cpp"
11301
},
11302
"3": {
11303
"patterns": [
11304
{
11305
"match": "\\*\\/",
11306
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11307
},
11308
{
11309
"match": "\\*",
11310
"name": "comment.block.cuda-cpp"
11311
}
11312
]
11313
}
11314
}
11315
}
11316
]
11317
},
11318
"14": {
11319
"name": "variable.other.object.declare.cuda-cpp"
11320
},
11321
"15": {
11322
"patterns": [
11323
{
11324
"include": "#inline_comment"
11325
}
11326
]
11327
},
11328
"16": {
11329
"patterns": [
11330
{
11331
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11332
"captures": {
11333
"1": {
11334
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11335
},
11336
"2": {
11337
"name": "comment.block.cuda-cpp"
11338
},
11339
"3": {
11340
"patterns": [
11341
{
11342
"match": "\\*\\/",
11343
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11344
},
11345
{
11346
"match": "\\*",
11347
"name": "comment.block.cuda-cpp"
11348
}
11349
]
11350
}
11351
}
11352
}
11353
]
11354
},
11355
"17": {
11356
"patterns": [
11357
{
11358
"include": "#inline_comment"
11359
}
11360
]
11361
},
11362
"18": {
11363
"patterns": [
11364
{
11365
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11366
"captures": {
11367
"1": {
11368
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11369
},
11370
"2": {
11371
"name": "comment.block.cuda-cpp"
11372
},
11373
"3": {
11374
"patterns": [
11375
{
11376
"match": "\\*\\/",
11377
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11378
},
11379
{
11380
"match": "\\*",
11381
"name": "comment.block.cuda-cpp"
11382
}
11383
]
11384
}
11385
}
11386
}
11387
]
11388
},
11389
"19": {
11390
"patterns": [
11391
{
11392
"include": "#inline_comment"
11393
}
11394
]
11395
},
11396
"20": {
11397
"patterns": [
11398
{
11399
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11400
"captures": {
11401
"1": {
11402
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11403
},
11404
"2": {
11405
"name": "comment.block.cuda-cpp"
11406
},
11407
"3": {
11408
"patterns": [
11409
{
11410
"match": "\\*\\/",
11411
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11412
},
11413
{
11414
"match": "\\*",
11415
"name": "comment.block.cuda-cpp"
11416
}
11417
]
11418
}
11419
}
11420
}
11421
]
11422
}
11423
}
11424
},
11425
"parameter_or_maybe_value": {
11426
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\w)",
11427
"end": "(?:(?=\\))|(,))",
11428
"beginCaptures": {
11429
"1": {
11430
"patterns": [
11431
{
11432
"include": "#inline_comment"
11433
}
11434
]
11435
},
11436
"2": {
11437
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11438
},
11439
"3": {
11440
"name": "comment.block.cuda-cpp"
11441
},
11442
"4": {
11443
"patterns": [
11444
{
11445
"match": "\\*\\/",
11446
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11447
},
11448
{
11449
"match": "\\*",
11450
"name": "comment.block.cuda-cpp"
11451
}
11452
]
11453
}
11454
},
11455
"endCaptures": {
11456
"1": {
11457
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
11458
}
11459
},
11460
"name": "meta.parameter.cuda-cpp",
11461
"patterns": [
11462
{
11463
"include": "#ever_present_context"
11464
},
11465
{
11466
"include": "#function_pointer_parameter"
11467
},
11468
{
11469
"include": "#memory_operators"
11470
},
11471
{
11472
"include": "#builtin_storage_type_initilizer"
11473
},
11474
{
11475
"include": "#curly_initializer"
11476
},
11477
{
11478
"include": "#decltype"
11479
},
11480
{
11481
"include": "#vararg_ellipses"
11482
},
11483
{
11484
"match": "((?:((?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))+)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:\\s)*+(?<!\\w)(?:(?:(?:((?:(?:threadIdx)|(?:unsigned)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:wchar_t)|(?:gridDim)|(?:signed)|(?:double)|(?:short)|(?:float)|(?:auto)|(?:void)|(?:char)|(?:long)|(?:bool)|(?:int)))|((?:(?:uint_least16_t)|(?:uint_least32_t)|(?:uint_least64_t)|(?:int_least16_t)|(?:int_least32_t)|(?:int_least64_t)|(?:uint_least8_t)|(?:uint_fast16_t)|(?:uint_fast32_t)|(?:uint_fast64_t)|(?:int_least8_t)|(?:int_fast16_t)|(?:int_fast32_t)|(?:int_fast64_t)|(?:uint_fast8_t)|(?:suseconds_t)|(?:int_fast8_t)|(?:useconds_t)|(?:ulonglong1)|(?:ulonglong2)|(?:ulonglong3)|(?:ulonglong4)|(?:blksize_t)|(?:in_addr_t)|(?:in_port_t)|(?:uintptr_t)|(?:uintmax_t)|(?:uintmax_t)|(?:uintmax_t)|(?:longlong1)|(?:longlong2)|(?:longlong3)|(?:longlong4)|(?:u_quad_t)|(?:blkcnt_t)|(?:uint16_t)|(?:uint32_t)|(?:uint64_t)|(?:intptr_t)|(?:intmax_t)|(?:intmax_t)|(?:u_short)|(?:qaddr_t)|(?:caddr_t)|(?:daddr_t)|(?:fixpt_t)|(?:nlink_t)|(?:segsz_t)|(?:swblk_t)|(?:clock_t)|(?:ssize_t)|(?:int16_t)|(?:int32_t)|(?:int64_t)|(?:uint8_t)|(?:ushort1)|(?:ushort2)|(?:ushort3)|(?:ushort4)|(?:double1)|(?:double2)|(?:double3)|(?:double4)|(?:u_char)|(?:u_long)|(?:ushort)|(?:quad_t)|(?:mode_t)|(?:size_t)|(?:time_t)|(?:int8_t)|(?:uchar1)|(?:uchar2)|(?:uchar3)|(?:uchar4)|(?:short1)|(?:short2)|(?:short3)|(?:short4)|(?:ulong4)|(?:ulong1)|(?:ulong2)|(?:ulong3)|(?:ulong4)|(?:float1)|(?:float2)|(?:float3)|(?:float4)|(?:u_int)|(?:div_t)|(?:dev_t)|(?:gid_t)|(?:ino_t)|(?:key_t)|(?:pid_t)|(?:off_t)|(?:uid_t)|(?:char1)|(?:char2)|(?:char3)|(?:char4)|(?:uint1)|(?:uint2)|(?:uint3)|(?:uint4)|(?:long1)|(?:long2)|(?:long3)|(?:uint)|(?:id_t)|(?:id_t)|(?:int1)|(?:int2)|(?:int3)|(?:int4)|(?:dim3))))|((?:(?:pthread_rwlockattr_t)|(?:pthread_mutexattr_t)|(?:pthread_condattr_t)|(?:pthread_rwlock_t)|(?:pthread_mutex_t)|(?:pthread_attr_t)|(?:pthread_cond_t)|(?:pthread_once_t)|(?:pthread_key_t)|(?:pthread_t))))|([a-zA-Z_](?:\\w)*_t))(?!\\w)|((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\b\\b(?<!\\W__constant__|^__constant__|\\W__restrict__|^__restrict__|\\W__managed__|^__managed__|\\W__shared__|^__shared__|\\Wvolatile|^volatile|\\Wregister|^register|\\Wrestrict|^restrict|\\Wstatic|^static|\\Wextern|^extern|\\Wconst|^const)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=,|\\)|=)",
11485
"captures": {
11486
"1": {
11487
"patterns": [
11488
{
11489
"include": "#storage_types"
11490
}
11491
]
11492
},
11493
"2": {
11494
"name": "storage.modifier.specifier.parameter.cuda-cpp"
11495
},
11496
"3": {
11497
"patterns": [
11498
{
11499
"include": "#inline_comment"
11500
}
11501
]
11502
},
11503
"4": {
11504
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11505
},
11506
"5": {
11507
"name": "comment.block.cuda-cpp"
11508
},
11509
"6": {
11510
"patterns": [
11511
{
11512
"match": "\\*\\/",
11513
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11514
},
11515
{
11516
"match": "\\*",
11517
"name": "comment.block.cuda-cpp"
11518
}
11519
]
11520
},
11521
"7": {
11522
"patterns": [
11523
{
11524
"include": "#inline_comment"
11525
}
11526
]
11527
},
11528
"8": {
11529
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11530
},
11531
"9": {
11532
"name": "comment.block.cuda-cpp"
11533
},
11534
"10": {
11535
"patterns": [
11536
{
11537
"match": "\\*\\/",
11538
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11539
},
11540
{
11541
"match": "\\*",
11542
"name": "comment.block.cuda-cpp"
11543
}
11544
]
11545
},
11546
"11": {
11547
"name": "storage.type.primitive.cuda-cpp storage.type.built-in.primitive.cuda-cpp"
11548
},
11549
"12": {
11550
"name": "storage.type.cuda-cpp storage.type.built-in.cuda-cpp"
11551
},
11552
"13": {
11553
"name": "support.type.posix-reserved.pthread.cuda-cpp support.type.built-in.posix-reserved.pthread.cuda-cpp"
11554
},
11555
"14": {
11556
"name": "support.type.posix-reserved.cuda-cpp support.type.built-in.posix-reserved.cuda-cpp"
11557
},
11558
"15": {
11559
"name": "entity.name.type.parameter.cuda-cpp"
11560
},
11561
"16": {
11562
"patterns": [
11563
{
11564
"include": "#inline_comment"
11565
}
11566
]
11567
},
11568
"17": {
11569
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11570
},
11571
"18": {
11572
"name": "comment.block.cuda-cpp"
11573
},
11574
"19": {
11575
"patterns": [
11576
{
11577
"match": "\\*\\/",
11578
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11579
},
11580
{
11581
"match": "\\*",
11582
"name": "comment.block.cuda-cpp"
11583
}
11584
]
11585
}
11586
}
11587
},
11588
{
11589
"include": "#storage_types"
11590
},
11591
{
11592
"include": "#function_call"
11593
},
11594
{
11595
"include": "#scope_resolution_parameter_inner_generated"
11596
},
11597
{
11598
"match": "(?:(?:struct)|(?:class)|(?:union)|(?:enum))",
11599
"name": "storage.type.$0.cuda-cpp"
11600
},
11601
{
11602
"begin": "(?<==)",
11603
"end": "(?:(?=\\))|(,))",
11604
"beginCaptures": {},
11605
"endCaptures": {
11606
"1": {
11607
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
11608
}
11609
},
11610
"patterns": [
11611
{
11612
"include": "#evaluation_context"
11613
}
11614
]
11615
},
11616
{
11617
"match": "(?<!\\s|\\(|,|:)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=(?:\\)|,|\\[|=|\\/\\/|(?:(?:\\n)|$)))",
11618
"captures": {
11619
"1": {
11620
"patterns": [
11621
{
11622
"include": "#inline_comment"
11623
}
11624
]
11625
},
11626
"2": {
11627
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11628
},
11629
"3": {
11630
"name": "comment.block.cuda-cpp"
11631
},
11632
"4": {
11633
"patterns": [
11634
{
11635
"match": "\\*\\/",
11636
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11637
},
11638
{
11639
"match": "\\*",
11640
"name": "comment.block.cuda-cpp"
11641
}
11642
]
11643
},
11644
"5": {
11645
"name": "variable.parameter.cuda-cpp"
11646
},
11647
"6": {
11648
"patterns": [
11649
{
11650
"include": "#inline_comment"
11651
}
11652
]
11653
},
11654
"7": {
11655
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11656
},
11657
"8": {
11658
"name": "comment.block.cuda-cpp"
11659
},
11660
"9": {
11661
"patterns": [
11662
{
11663
"match": "\\*\\/",
11664
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11665
},
11666
{
11667
"match": "\\*",
11668
"name": "comment.block.cuda-cpp"
11669
}
11670
]
11671
}
11672
}
11673
},
11674
{
11675
"include": "#attributes_context"
11676
},
11677
{
11678
"begin": "\\[",
11679
"end": "\\]",
11680
"beginCaptures": {
11681
"0": {
11682
"name": "punctuation.definition.begin.bracket.square.array.type.cuda-cpp"
11683
}
11684
},
11685
"endCaptures": {
11686
"0": {
11687
"name": "punctuation.definition.end.bracket.square.array.type.cuda-cpp"
11688
}
11689
},
11690
"name": "meta.bracket.square.array.cuda-cpp",
11691
"patterns": [
11692
{
11693
"include": "#evaluation_context"
11694
}
11695
]
11696
},
11697
{
11698
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b(?<!\\Wstruct|^struct|\\Wclass|^class|\\Wunion|^union|\\Wenum|^enum)",
11699
"name": "entity.name.type.parameter.cuda-cpp"
11700
},
11701
{
11702
"include": "#template_call_range"
11703
},
11704
{
11705
"match": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*))",
11706
"captures": {
11707
"0": {
11708
"patterns": [
11709
{
11710
"match": "\\*",
11711
"name": "storage.modifier.pointer.cuda-cpp"
11712
},
11713
{
11714
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
11715
"captures": {
11716
"1": {
11717
"patterns": [
11718
{
11719
"include": "#inline_comment"
11720
}
11721
]
11722
},
11723
"2": {
11724
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11725
},
11726
"3": {
11727
"name": "comment.block.cuda-cpp"
11728
},
11729
"4": {
11730
"patterns": [
11731
{
11732
"match": "\\*\\/",
11733
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11734
},
11735
{
11736
"match": "\\*",
11737
"name": "comment.block.cuda-cpp"
11738
}
11739
]
11740
}
11741
},
11742
"name": "invalid.illegal.reference-type.cuda-cpp"
11743
},
11744
{
11745
"match": "\\&",
11746
"name": "storage.modifier.reference.cuda-cpp"
11747
}
11748
]
11749
},
11750
"1": {
11751
"patterns": [
11752
{
11753
"include": "#inline_comment"
11754
}
11755
]
11756
},
11757
"2": {
11758
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11759
},
11760
"3": {
11761
"name": "comment.block.cuda-cpp"
11762
},
11763
"4": {
11764
"patterns": [
11765
{
11766
"match": "\\*\\/",
11767
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11768
},
11769
{
11770
"match": "\\*",
11771
"name": "comment.block.cuda-cpp"
11772
}
11773
]
11774
},
11775
"5": {
11776
"patterns": [
11777
{
11778
"include": "#inline_comment"
11779
}
11780
]
11781
},
11782
"6": {
11783
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11784
},
11785
"7": {
11786
"name": "comment.block.cuda-cpp"
11787
},
11788
"8": {
11789
"patterns": [
11790
{
11791
"match": "\\*\\/",
11792
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11793
},
11794
{
11795
"match": "\\*",
11796
"name": "comment.block.cuda-cpp"
11797
}
11798
]
11799
}
11800
}
11801
},
11802
{
11803
"include": "#evaluation_context"
11804
}
11805
]
11806
},
11807
"parameter_struct": {
11808
"match": "(struct)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
11809
"captures": {
11810
"1": {
11811
"name": "storage.type.struct.parameter.cuda-cpp"
11812
},
11813
"2": {
11814
"patterns": [
11815
{
11816
"include": "#inline_comment"
11817
}
11818
]
11819
},
11820
"3": {
11821
"patterns": [
11822
{
11823
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11824
"captures": {
11825
"1": {
11826
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11827
},
11828
"2": {
11829
"name": "comment.block.cuda-cpp"
11830
},
11831
"3": {
11832
"patterns": [
11833
{
11834
"match": "\\*\\/",
11835
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11836
},
11837
{
11838
"match": "\\*",
11839
"name": "comment.block.cuda-cpp"
11840
}
11841
]
11842
}
11843
}
11844
}
11845
]
11846
},
11847
"4": {
11848
"name": "entity.name.type.struct.parameter.cuda-cpp"
11849
},
11850
"5": {
11851
"patterns": [
11852
{
11853
"include": "#inline_comment"
11854
}
11855
]
11856
},
11857
"6": {
11858
"patterns": [
11859
{
11860
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11861
"captures": {
11862
"1": {
11863
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11864
},
11865
"2": {
11866
"name": "comment.block.cuda-cpp"
11867
},
11868
"3": {
11869
"patterns": [
11870
{
11871
"match": "\\*\\/",
11872
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11873
},
11874
{
11875
"match": "\\*",
11876
"name": "comment.block.cuda-cpp"
11877
}
11878
]
11879
}
11880
}
11881
}
11882
]
11883
},
11884
"7": {
11885
"patterns": [
11886
{
11887
"match": "\\*",
11888
"name": "storage.modifier.pointer.cuda-cpp"
11889
},
11890
{
11891
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
11892
"captures": {
11893
"1": {
11894
"patterns": [
11895
{
11896
"include": "#inline_comment"
11897
}
11898
]
11899
},
11900
"2": {
11901
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11902
},
11903
"3": {
11904
"name": "comment.block.cuda-cpp"
11905
},
11906
"4": {
11907
"patterns": [
11908
{
11909
"match": "\\*\\/",
11910
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11911
},
11912
{
11913
"match": "\\*",
11914
"name": "comment.block.cuda-cpp"
11915
}
11916
]
11917
}
11918
},
11919
"name": "invalid.illegal.reference-type.cuda-cpp"
11920
},
11921
{
11922
"match": "\\&",
11923
"name": "storage.modifier.reference.cuda-cpp"
11924
}
11925
]
11926
},
11927
"8": {
11928
"patterns": [
11929
{
11930
"include": "#inline_comment"
11931
}
11932
]
11933
},
11934
"9": {
11935
"patterns": [
11936
{
11937
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11938
"captures": {
11939
"1": {
11940
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11941
},
11942
"2": {
11943
"name": "comment.block.cuda-cpp"
11944
},
11945
"3": {
11946
"patterns": [
11947
{
11948
"match": "\\*\\/",
11949
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11950
},
11951
{
11952
"match": "\\*",
11953
"name": "comment.block.cuda-cpp"
11954
}
11955
]
11956
}
11957
}
11958
}
11959
]
11960
},
11961
"10": {
11962
"patterns": [
11963
{
11964
"include": "#inline_comment"
11965
}
11966
]
11967
},
11968
"11": {
11969
"patterns": [
11970
{
11971
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
11972
"captures": {
11973
"1": {
11974
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
11975
},
11976
"2": {
11977
"name": "comment.block.cuda-cpp"
11978
},
11979
"3": {
11980
"patterns": [
11981
{
11982
"match": "\\*\\/",
11983
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
11984
},
11985
{
11986
"match": "\\*",
11987
"name": "comment.block.cuda-cpp"
11988
}
11989
]
11990
}
11991
}
11992
}
11993
]
11994
},
11995
"12": {
11996
"patterns": [
11997
{
11998
"include": "#inline_comment"
11999
}
12000
]
12001
},
12002
"13": {
12003
"patterns": [
12004
{
12005
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12006
"captures": {
12007
"1": {
12008
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12009
},
12010
"2": {
12011
"name": "comment.block.cuda-cpp"
12012
},
12013
"3": {
12014
"patterns": [
12015
{
12016
"match": "\\*\\/",
12017
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12018
},
12019
{
12020
"match": "\\*",
12021
"name": "comment.block.cuda-cpp"
12022
}
12023
]
12024
}
12025
}
12026
}
12027
]
12028
},
12029
"14": {
12030
"name": "variable.other.object.declare.cuda-cpp"
12031
},
12032
"15": {
12033
"patterns": [
12034
{
12035
"include": "#inline_comment"
12036
}
12037
]
12038
},
12039
"16": {
12040
"patterns": [
12041
{
12042
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12043
"captures": {
12044
"1": {
12045
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12046
},
12047
"2": {
12048
"name": "comment.block.cuda-cpp"
12049
},
12050
"3": {
12051
"patterns": [
12052
{
12053
"match": "\\*\\/",
12054
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12055
},
12056
{
12057
"match": "\\*",
12058
"name": "comment.block.cuda-cpp"
12059
}
12060
]
12061
}
12062
}
12063
}
12064
]
12065
},
12066
"17": {
12067
"patterns": [
12068
{
12069
"include": "#inline_comment"
12070
}
12071
]
12072
},
12073
"18": {
12074
"patterns": [
12075
{
12076
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12077
"captures": {
12078
"1": {
12079
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12080
},
12081
"2": {
12082
"name": "comment.block.cuda-cpp"
12083
},
12084
"3": {
12085
"patterns": [
12086
{
12087
"match": "\\*\\/",
12088
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12089
},
12090
{
12091
"match": "\\*",
12092
"name": "comment.block.cuda-cpp"
12093
}
12094
]
12095
}
12096
}
12097
}
12098
]
12099
},
12100
"19": {
12101
"patterns": [
12102
{
12103
"include": "#inline_comment"
12104
}
12105
]
12106
},
12107
"20": {
12108
"patterns": [
12109
{
12110
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12111
"captures": {
12112
"1": {
12113
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12114
},
12115
"2": {
12116
"name": "comment.block.cuda-cpp"
12117
},
12118
"3": {
12119
"patterns": [
12120
{
12121
"match": "\\*\\/",
12122
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12123
},
12124
{
12125
"match": "\\*",
12126
"name": "comment.block.cuda-cpp"
12127
}
12128
]
12129
}
12130
}
12131
}
12132
]
12133
}
12134
}
12135
},
12136
"parameter_union": {
12137
"match": "(union)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))?)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:\\[((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\]((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=,|\\)|\\n)",
12138
"captures": {
12139
"1": {
12140
"name": "storage.type.union.parameter.cuda-cpp"
12141
},
12142
"2": {
12143
"patterns": [
12144
{
12145
"include": "#inline_comment"
12146
}
12147
]
12148
},
12149
"3": {
12150
"patterns": [
12151
{
12152
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12153
"captures": {
12154
"1": {
12155
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12156
},
12157
"2": {
12158
"name": "comment.block.cuda-cpp"
12159
},
12160
"3": {
12161
"patterns": [
12162
{
12163
"match": "\\*\\/",
12164
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12165
},
12166
{
12167
"match": "\\*",
12168
"name": "comment.block.cuda-cpp"
12169
}
12170
]
12171
}
12172
}
12173
}
12174
]
12175
},
12176
"4": {
12177
"name": "entity.name.type.union.parameter.cuda-cpp"
12178
},
12179
"5": {
12180
"patterns": [
12181
{
12182
"include": "#inline_comment"
12183
}
12184
]
12185
},
12186
"6": {
12187
"patterns": [
12188
{
12189
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12190
"captures": {
12191
"1": {
12192
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12193
},
12194
"2": {
12195
"name": "comment.block.cuda-cpp"
12196
},
12197
"3": {
12198
"patterns": [
12199
{
12200
"match": "\\*\\/",
12201
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12202
},
12203
{
12204
"match": "\\*",
12205
"name": "comment.block.cuda-cpp"
12206
}
12207
]
12208
}
12209
}
12210
}
12211
]
12212
},
12213
"7": {
12214
"patterns": [
12215
{
12216
"match": "\\*",
12217
"name": "storage.modifier.pointer.cuda-cpp"
12218
},
12219
{
12220
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
12221
"captures": {
12222
"1": {
12223
"patterns": [
12224
{
12225
"include": "#inline_comment"
12226
}
12227
]
12228
},
12229
"2": {
12230
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12231
},
12232
"3": {
12233
"name": "comment.block.cuda-cpp"
12234
},
12235
"4": {
12236
"patterns": [
12237
{
12238
"match": "\\*\\/",
12239
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12240
},
12241
{
12242
"match": "\\*",
12243
"name": "comment.block.cuda-cpp"
12244
}
12245
]
12246
}
12247
},
12248
"name": "invalid.illegal.reference-type.cuda-cpp"
12249
},
12250
{
12251
"match": "\\&",
12252
"name": "storage.modifier.reference.cuda-cpp"
12253
}
12254
]
12255
},
12256
"8": {
12257
"patterns": [
12258
{
12259
"include": "#inline_comment"
12260
}
12261
]
12262
},
12263
"9": {
12264
"patterns": [
12265
{
12266
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12267
"captures": {
12268
"1": {
12269
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12270
},
12271
"2": {
12272
"name": "comment.block.cuda-cpp"
12273
},
12274
"3": {
12275
"patterns": [
12276
{
12277
"match": "\\*\\/",
12278
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12279
},
12280
{
12281
"match": "\\*",
12282
"name": "comment.block.cuda-cpp"
12283
}
12284
]
12285
}
12286
}
12287
}
12288
]
12289
},
12290
"10": {
12291
"patterns": [
12292
{
12293
"include": "#inline_comment"
12294
}
12295
]
12296
},
12297
"11": {
12298
"patterns": [
12299
{
12300
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12301
"captures": {
12302
"1": {
12303
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12304
},
12305
"2": {
12306
"name": "comment.block.cuda-cpp"
12307
},
12308
"3": {
12309
"patterns": [
12310
{
12311
"match": "\\*\\/",
12312
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12313
},
12314
{
12315
"match": "\\*",
12316
"name": "comment.block.cuda-cpp"
12317
}
12318
]
12319
}
12320
}
12321
}
12322
]
12323
},
12324
"12": {
12325
"patterns": [
12326
{
12327
"include": "#inline_comment"
12328
}
12329
]
12330
},
12331
"13": {
12332
"patterns": [
12333
{
12334
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12335
"captures": {
12336
"1": {
12337
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12338
},
12339
"2": {
12340
"name": "comment.block.cuda-cpp"
12341
},
12342
"3": {
12343
"patterns": [
12344
{
12345
"match": "\\*\\/",
12346
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12347
},
12348
{
12349
"match": "\\*",
12350
"name": "comment.block.cuda-cpp"
12351
}
12352
]
12353
}
12354
}
12355
}
12356
]
12357
},
12358
"14": {
12359
"name": "variable.other.object.declare.cuda-cpp"
12360
},
12361
"15": {
12362
"patterns": [
12363
{
12364
"include": "#inline_comment"
12365
}
12366
]
12367
},
12368
"16": {
12369
"patterns": [
12370
{
12371
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12372
"captures": {
12373
"1": {
12374
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12375
},
12376
"2": {
12377
"name": "comment.block.cuda-cpp"
12378
},
12379
"3": {
12380
"patterns": [
12381
{
12382
"match": "\\*\\/",
12383
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12384
},
12385
{
12386
"match": "\\*",
12387
"name": "comment.block.cuda-cpp"
12388
}
12389
]
12390
}
12391
}
12392
}
12393
]
12394
},
12395
"17": {
12396
"patterns": [
12397
{
12398
"include": "#inline_comment"
12399
}
12400
]
12401
},
12402
"18": {
12403
"patterns": [
12404
{
12405
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12406
"captures": {
12407
"1": {
12408
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12409
},
12410
"2": {
12411
"name": "comment.block.cuda-cpp"
12412
},
12413
"3": {
12414
"patterns": [
12415
{
12416
"match": "\\*\\/",
12417
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12418
},
12419
{
12420
"match": "\\*",
12421
"name": "comment.block.cuda-cpp"
12422
}
12423
]
12424
}
12425
}
12426
}
12427
]
12428
},
12429
"19": {
12430
"patterns": [
12431
{
12432
"include": "#inline_comment"
12433
}
12434
]
12435
},
12436
"20": {
12437
"patterns": [
12438
{
12439
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12440
"captures": {
12441
"1": {
12442
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12443
},
12444
"2": {
12445
"name": "comment.block.cuda-cpp"
12446
},
12447
"3": {
12448
"patterns": [
12449
{
12450
"match": "\\*\\/",
12451
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12452
},
12453
{
12454
"match": "\\*",
12455
"name": "comment.block.cuda-cpp"
12456
}
12457
]
12458
}
12459
}
12460
}
12461
]
12462
}
12463
}
12464
},
12465
"parentheses": {
12466
"begin": "\\(",
12467
"end": "\\)",
12468
"beginCaptures": {
12469
"0": {
12470
"name": "punctuation.section.parens.begin.bracket.round.cuda-cpp"
12471
}
12472
},
12473
"endCaptures": {
12474
"0": {
12475
"name": "punctuation.section.parens.end.bracket.round.cuda-cpp"
12476
}
12477
},
12478
"name": "meta.parens.cuda-cpp",
12479
"patterns": [
12480
{
12481
"include": "#over_qualified_types"
12482
},
12483
{
12484
"match": "(?<!:):(?!:)",
12485
"name": "punctuation.separator.colon.range-based.cuda-cpp"
12486
},
12487
{
12488
"include": "#evaluation_context"
12489
}
12490
]
12491
},
12492
"pragma": {
12493
"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma\\b",
12494
"end": "(?<!\\\\)(?=\\n)",
12495
"beginCaptures": {
12496
"0": {
12497
"name": "keyword.control.directive.pragma.cuda-cpp"
12498
},
12499
"1": {
12500
"patterns": [
12501
{
12502
"include": "#inline_comment"
12503
}
12504
]
12505
},
12506
"2": {
12507
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12508
},
12509
"3": {
12510
"name": "comment.block.cuda-cpp"
12511
},
12512
"4": {
12513
"patterns": [
12514
{
12515
"match": "\\*\\/",
12516
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12517
},
12518
{
12519
"match": "\\*",
12520
"name": "comment.block.cuda-cpp"
12521
}
12522
]
12523
},
12524
"5": {
12525
"name": "punctuation.definition.directive.cuda-cpp"
12526
}
12527
},
12528
"endCaptures": {},
12529
"name": "meta.preprocessor.pragma.cuda-cpp",
12530
"patterns": [
12531
{
12532
"include": "#comments"
12533
},
12534
{
12535
"include": "#string_context"
12536
},
12537
{
12538
"match": "[a-zA-Z_$][\\w\\-$]*",
12539
"name": "entity.other.attribute-name.pragma.preprocessor.cuda-cpp"
12540
},
12541
{
12542
"include": "#preprocessor_number_literal"
12543
},
12544
{
12545
"include": "#line_continuation_character"
12546
}
12547
]
12548
},
12549
"pragma_mark": {
12550
"match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?pragma(?:\\s)+mark)(?:\\s)+(.*)",
12551
"captures": {
12552
"1": {
12553
"name": "keyword.control.directive.pragma.pragma-mark.cuda-cpp"
12554
},
12555
"2": {
12556
"patterns": [
12557
{
12558
"include": "#inline_comment"
12559
}
12560
]
12561
},
12562
"3": {
12563
"patterns": [
12564
{
12565
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12566
"captures": {
12567
"1": {
12568
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12569
},
12570
"2": {
12571
"name": "comment.block.cuda-cpp"
12572
},
12573
"3": {
12574
"patterns": [
12575
{
12576
"match": "\\*\\/",
12577
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12578
},
12579
{
12580
"match": "\\*",
12581
"name": "comment.block.cuda-cpp"
12582
}
12583
]
12584
}
12585
}
12586
}
12587
]
12588
},
12589
"4": {
12590
"name": "punctuation.definition.directive.cuda-cpp"
12591
},
12592
"5": {
12593
"name": "entity.name.tag.pragma-mark.cuda-cpp"
12594
}
12595
},
12596
"name": "meta.preprocessor.pragma.cuda-cpp"
12597
},
12598
"predefined_macros": {
12599
"patterns": [
12600
{
12601
"match": "\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMA|__FP_FAST_FMAF|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\b",
12602
"captures": {
12603
"1": {
12604
"name": "entity.name.other.preprocessor.macro.predefined.$1.cuda-cpp"
12605
}
12606
}
12607
},
12608
{
12609
"match": "\\b__([A-Z_]+)__\\b",
12610
"name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cuda-cpp"
12611
}
12612
]
12613
},
12614
"preprocessor_conditional_context": {
12615
"patterns": [
12616
{
12617
"include": "#preprocessor_conditional_defined"
12618
},
12619
{
12620
"include": "#comments"
12621
},
12622
{
12623
"include": "#language_constants"
12624
},
12625
{
12626
"include": "#string_context"
12627
},
12628
{
12629
"include": "#d9bc4796b0b_preprocessor_number_literal"
12630
},
12631
{
12632
"include": "#operators"
12633
},
12634
{
12635
"include": "#predefined_macros"
12636
},
12637
{
12638
"include": "#macro_name"
12639
},
12640
{
12641
"include": "#line_continuation_character"
12642
}
12643
]
12644
},
12645
"preprocessor_conditional_defined": {
12646
"begin": "((?<!\\w)defined(?!\\w))(\\()",
12647
"end": "(?:\\)|(?<!\\\\)(?=\\n))",
12648
"beginCaptures": {
12649
"1": {
12650
"name": "keyword.control.directive.conditional.defined.cuda-cpp"
12651
},
12652
"2": {
12653
"name": "punctuation.section.parens.control.defined.cuda-cpp"
12654
}
12655
},
12656
"endCaptures": {
12657
"0": {
12658
"name": "punctuation.section.parens.control.defined.cuda-cpp"
12659
}
12660
},
12661
"patterns": [
12662
{
12663
"include": "#macro_name"
12664
}
12665
]
12666
},
12667
"preprocessor_conditional_parentheses": {
12668
"begin": "\\(",
12669
"end": "\\)",
12670
"beginCaptures": {
12671
"0": {
12672
"name": "punctuation.section.parens.begin.bracket.round.cuda-cpp"
12673
}
12674
},
12675
"endCaptures": {
12676
"0": {
12677
"name": "punctuation.section.parens.end.bracket.round.cuda-cpp"
12678
}
12679
},
12680
"name": "meta.parens.preprocessor.conditional.cuda-cpp"
12681
},
12682
"preprocessor_conditional_range": {
12683
"begin": "^((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?:(?:ifndef|ifdef)|if))",
12684
"end": "^(?!\\s*+#\\s*(?:else|endif))",
12685
"beginCaptures": {
12686
"0": {
12687
"name": "keyword.control.directive.conditional.$6.cuda-cpp"
12688
},
12689
"1": {
12690
"patterns": [
12691
{
12692
"include": "#inline_comment"
12693
}
12694
]
12695
},
12696
"2": {
12697
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12698
},
12699
"3": {
12700
"name": "comment.block.cuda-cpp"
12701
},
12702
"4": {
12703
"patterns": [
12704
{
12705
"match": "\\*\\/",
12706
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12707
},
12708
{
12709
"match": "\\*",
12710
"name": "comment.block.cuda-cpp"
12711
}
12712
]
12713
},
12714
"5": {
12715
"name": "punctuation.definition.directive.cuda-cpp"
12716
},
12717
"6": {}
12718
},
12719
"endCaptures": {},
12720
"patterns": [
12721
{
12722
"begin": "\\G(?<=ifndef|ifdef|if)",
12723
"end": "(?<!\\\\)(?=\\n)",
12724
"beginCaptures": {},
12725
"endCaptures": {},
12726
"name": "meta.preprocessor.conditional.cuda-cpp",
12727
"patterns": [
12728
{
12729
"include": "#preprocessor_conditional_context"
12730
}
12731
]
12732
},
12733
{
12734
"include": "$self"
12735
}
12736
]
12737
},
12738
"preprocessor_conditional_standalone": {
12739
"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?((?<!\\w)(?:endif|else|elif)(?!\\w))",
12740
"captures": {
12741
"1": {
12742
"patterns": [
12743
{
12744
"include": "#inline_comment"
12745
}
12746
]
12747
},
12748
"2": {
12749
"patterns": [
12750
{
12751
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12752
"captures": {
12753
"1": {
12754
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12755
},
12756
"2": {
12757
"name": "comment.block.cuda-cpp"
12758
},
12759
"3": {
12760
"patterns": [
12761
{
12762
"match": "\\*\\/",
12763
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12764
},
12765
{
12766
"match": "\\*",
12767
"name": "comment.block.cuda-cpp"
12768
}
12769
]
12770
}
12771
}
12772
}
12773
]
12774
},
12775
"3": {
12776
"name": "punctuation.definition.directive.cuda-cpp"
12777
}
12778
},
12779
"name": "keyword.control.directive.$4.cuda-cpp"
12780
},
12781
"preprocessor_context": {
12782
"patterns": [
12783
{
12784
"include": "#pragma_mark"
12785
},
12786
{
12787
"include": "#pragma"
12788
},
12789
{
12790
"include": "#include"
12791
},
12792
{
12793
"include": "#line"
12794
},
12795
{
12796
"include": "#diagnostic"
12797
},
12798
{
12799
"include": "#undef"
12800
},
12801
{
12802
"include": "#preprocessor_conditional_range"
12803
},
12804
{
12805
"include": "#single_line_macro"
12806
},
12807
{
12808
"include": "#macro"
12809
},
12810
{
12811
"include": "#preprocessor_conditional_standalone"
12812
},
12813
{
12814
"include": "#macro_argument"
12815
}
12816
]
12817
},
12818
"qualified_type": {
12819
"match": "\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<11>?)+>)?(?![\\w<:.])",
12820
"captures": {
12821
"0": {
12822
"patterns": [
12823
{
12824
"match": "::",
12825
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
12826
},
12827
{
12828
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
12829
"name": "storage.type.$0.cuda-cpp"
12830
},
12831
{
12832
"include": "#attributes_context"
12833
},
12834
{
12835
"include": "#storage_types"
12836
},
12837
{
12838
"include": "#number_literal"
12839
},
12840
{
12841
"include": "#string_context"
12842
},
12843
{
12844
"include": "#comma"
12845
},
12846
{
12847
"include": "#scope_resolution_inner_generated"
12848
},
12849
{
12850
"begin": "<",
12851
"end": ">",
12852
"beginCaptures": {
12853
"0": {
12854
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
12855
}
12856
},
12857
"endCaptures": {
12858
"0": {
12859
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
12860
}
12861
},
12862
"name": "meta.template.call.cuda-cpp",
12863
"patterns": [
12864
{
12865
"include": "#template_call_context"
12866
}
12867
]
12868
},
12869
{
12870
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
12871
"name": "entity.name.type.cuda-cpp"
12872
}
12873
]
12874
},
12875
"1": {
12876
"patterns": [
12877
{
12878
"include": "#attributes_context"
12879
},
12880
{
12881
"include": "#number_literal"
12882
}
12883
]
12884
},
12885
"2": {
12886
"patterns": [
12887
{
12888
"include": "#inline_comment"
12889
}
12890
]
12891
},
12892
"3": {
12893
"patterns": [
12894
{
12895
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12896
"captures": {
12897
"1": {
12898
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12899
},
12900
"2": {
12901
"name": "comment.block.cuda-cpp"
12902
},
12903
"3": {
12904
"patterns": [
12905
{
12906
"match": "\\*\\/",
12907
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12908
},
12909
{
12910
"match": "\\*",
12911
"name": "comment.block.cuda-cpp"
12912
}
12913
]
12914
}
12915
}
12916
}
12917
]
12918
},
12919
"4": {
12920
"patterns": [
12921
{
12922
"include": "#inline_comment"
12923
}
12924
]
12925
},
12926
"5": {
12927
"patterns": [
12928
{
12929
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12930
"captures": {
12931
"1": {
12932
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12933
},
12934
"2": {
12935
"name": "comment.block.cuda-cpp"
12936
},
12937
"3": {
12938
"patterns": [
12939
{
12940
"match": "\\*\\/",
12941
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12942
},
12943
{
12944
"match": "\\*",
12945
"name": "comment.block.cuda-cpp"
12946
}
12947
]
12948
}
12949
}
12950
}
12951
]
12952
},
12953
"6": {
12954
"patterns": [
12955
{
12956
"match": "::",
12957
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
12958
},
12959
{
12960
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
12961
"name": "entity.name.scope-resolution.type.cuda-cpp"
12962
},
12963
{
12964
"include": "#template_call_range"
12965
}
12966
]
12967
},
12968
"7": {
12969
"patterns": [
12970
{
12971
"include": "#template_call_range"
12972
}
12973
]
12974
},
12975
"9": {
12976
"patterns": [
12977
{
12978
"include": "#inline_comment"
12979
}
12980
]
12981
},
12982
"10": {
12983
"patterns": [
12984
{
12985
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
12986
"captures": {
12987
"1": {
12988
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
12989
},
12990
"2": {
12991
"name": "comment.block.cuda-cpp"
12992
},
12993
"3": {
12994
"patterns": [
12995
{
12996
"match": "\\*\\/",
12997
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
12998
},
12999
{
13000
"match": "\\*",
13001
"name": "comment.block.cuda-cpp"
13002
}
13003
]
13004
}
13005
}
13006
}
13007
]
13008
}
13009
},
13010
"name": "meta.qualified_type.cuda-cpp"
13011
},
13012
"qualifiers_and_specifiers_post_parameters": {
13013
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?:((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)(?:(?:override)|(?:volatile)|(?:noexcept)|(?:final)|(?:const))(?!\\w))+(?=\\s*(?:(?:\\{|;)|[\\n\\r])))",
13014
"captures": {
13015
"1": {
13016
"patterns": [
13017
{
13018
"include": "#inline_comment"
13019
}
13020
]
13021
},
13022
"2": {
13023
"patterns": [
13024
{
13025
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13026
"captures": {
13027
"1": {
13028
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13029
},
13030
"2": {
13031
"name": "comment.block.cuda-cpp"
13032
},
13033
"3": {
13034
"patterns": [
13035
{
13036
"match": "\\*\\/",
13037
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13038
},
13039
{
13040
"match": "\\*",
13041
"name": "comment.block.cuda-cpp"
13042
}
13043
]
13044
}
13045
}
13046
}
13047
]
13048
},
13049
"3": {
13050
"name": "storage.modifier.specifier.functional.post-parameters.$3.cuda-cpp"
13051
},
13052
"4": {
13053
"patterns": [
13054
{
13055
"include": "#inline_comment"
13056
}
13057
]
13058
},
13059
"5": {
13060
"patterns": [
13061
{
13062
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13063
"captures": {
13064
"1": {
13065
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13066
},
13067
"2": {
13068
"name": "comment.block.cuda-cpp"
13069
},
13070
"3": {
13071
"patterns": [
13072
{
13073
"match": "\\*\\/",
13074
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13075
},
13076
{
13077
"match": "\\*",
13078
"name": "comment.block.cuda-cpp"
13079
}
13080
]
13081
}
13082
}
13083
}
13084
]
13085
}
13086
}
13087
},
13088
"scope_resolution": {
13089
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13090
"captures": {
13091
"0": {
13092
"patterns": [
13093
{
13094
"include": "#scope_resolution_inner_generated"
13095
}
13096
]
13097
},
13098
"1": {
13099
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
13100
},
13101
"2": {
13102
"patterns": [
13103
{
13104
"include": "#template_call_range"
13105
}
13106
]
13107
}
13108
}
13109
},
13110
"scope_resolution_function_call": {
13111
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13112
"captures": {
13113
"0": {
13114
"patterns": [
13115
{
13116
"include": "#scope_resolution_function_call_inner_generated"
13117
}
13118
]
13119
},
13120
"1": {
13121
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"
13122
},
13123
"2": {
13124
"patterns": [
13125
{
13126
"include": "#template_call_range"
13127
}
13128
]
13129
}
13130
}
13131
},
13132
"scope_resolution_function_call_inner_generated": {
13133
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13134
"captures": {
13135
"1": {
13136
"patterns": [
13137
{
13138
"include": "#scope_resolution_function_call_inner_generated"
13139
}
13140
]
13141
},
13142
"2": {
13143
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"
13144
},
13145
"3": {
13146
"patterns": [
13147
{
13148
"include": "#template_call_range"
13149
}
13150
]
13151
},
13152
"4": {},
13153
"5": {
13154
"name": "entity.name.scope-resolution.function.call.cuda-cpp"
13155
},
13156
"6": {
13157
"name": "meta.template.call.cuda-cpp",
13158
"patterns": [
13159
{
13160
"include": "#template_call_range"
13161
}
13162
]
13163
},
13164
"7": {},
13165
"8": {
13166
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.call.cuda-cpp"
13167
}
13168
}
13169
},
13170
"scope_resolution_function_definition": {
13171
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13172
"captures": {
13173
"0": {
13174
"patterns": [
13175
{
13176
"include": "#scope_resolution_function_definition_inner_generated"
13177
}
13178
]
13179
},
13180
"1": {
13181
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"
13182
},
13183
"2": {
13184
"patterns": [
13185
{
13186
"include": "#template_call_range"
13187
}
13188
]
13189
}
13190
}
13191
},
13192
"scope_resolution_function_definition_inner_generated": {
13193
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13194
"captures": {
13195
"1": {
13196
"patterns": [
13197
{
13198
"include": "#scope_resolution_function_definition_inner_generated"
13199
}
13200
]
13201
},
13202
"2": {
13203
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"
13204
},
13205
"3": {
13206
"patterns": [
13207
{
13208
"include": "#template_call_range"
13209
}
13210
]
13211
},
13212
"4": {},
13213
"5": {
13214
"name": "entity.name.scope-resolution.function.definition.cuda-cpp"
13215
},
13216
"6": {
13217
"name": "meta.template.call.cuda-cpp",
13218
"patterns": [
13219
{
13220
"include": "#template_call_range"
13221
}
13222
]
13223
},
13224
"7": {},
13225
"8": {
13226
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.cuda-cpp"
13227
}
13228
}
13229
},
13230
"scope_resolution_function_definition_operator_overload": {
13231
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13232
"captures": {
13233
"0": {
13234
"patterns": [
13235
{
13236
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
13237
}
13238
]
13239
},
13240
"1": {
13241
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp"
13242
},
13243
"2": {
13244
"patterns": [
13245
{
13246
"include": "#template_call_range"
13247
}
13248
]
13249
}
13250
}
13251
},
13252
"scope_resolution_function_definition_operator_overload_inner_generated": {
13253
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13254
"captures": {
13255
"1": {
13256
"patterns": [
13257
{
13258
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
13259
}
13260
]
13261
},
13262
"2": {
13263
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp"
13264
},
13265
"3": {
13266
"patterns": [
13267
{
13268
"include": "#template_call_range"
13269
}
13270
]
13271
},
13272
"4": {},
13273
"5": {
13274
"name": "entity.name.scope-resolution.function.definition.operator-overload.cuda-cpp"
13275
},
13276
"6": {
13277
"name": "meta.template.call.cuda-cpp",
13278
"patterns": [
13279
{
13280
"include": "#template_call_range"
13281
}
13282
]
13283
},
13284
"7": {},
13285
"8": {
13286
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cuda-cpp"
13287
}
13288
}
13289
},
13290
"scope_resolution_inner_generated": {
13291
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13292
"captures": {
13293
"1": {
13294
"patterns": [
13295
{
13296
"include": "#scope_resolution_inner_generated"
13297
}
13298
]
13299
},
13300
"2": {
13301
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
13302
},
13303
"3": {
13304
"patterns": [
13305
{
13306
"include": "#template_call_range"
13307
}
13308
]
13309
},
13310
"4": {},
13311
"5": {
13312
"name": "entity.name.scope-resolution.cuda-cpp"
13313
},
13314
"6": {
13315
"name": "meta.template.call.cuda-cpp",
13316
"patterns": [
13317
{
13318
"include": "#template_call_range"
13319
}
13320
]
13321
},
13322
"7": {},
13323
"8": {
13324
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
13325
}
13326
}
13327
},
13328
"scope_resolution_namespace_alias": {
13329
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13330
"captures": {
13331
"0": {
13332
"patterns": [
13333
{
13334
"include": "#scope_resolution_namespace_alias_inner_generated"
13335
}
13336
]
13337
},
13338
"1": {
13339
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"
13340
},
13341
"2": {
13342
"patterns": [
13343
{
13344
"include": "#template_call_range"
13345
}
13346
]
13347
}
13348
}
13349
},
13350
"scope_resolution_namespace_alias_inner_generated": {
13351
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13352
"captures": {
13353
"1": {
13354
"patterns": [
13355
{
13356
"include": "#scope_resolution_namespace_alias_inner_generated"
13357
}
13358
]
13359
},
13360
"2": {
13361
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"
13362
},
13363
"3": {
13364
"patterns": [
13365
{
13366
"include": "#template_call_range"
13367
}
13368
]
13369
},
13370
"4": {},
13371
"5": {
13372
"name": "entity.name.scope-resolution.namespace.alias.cuda-cpp"
13373
},
13374
"6": {
13375
"name": "meta.template.call.cuda-cpp",
13376
"patterns": [
13377
{
13378
"include": "#template_call_range"
13379
}
13380
]
13381
},
13382
"7": {},
13383
"8": {
13384
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.alias.cuda-cpp"
13385
}
13386
}
13387
},
13388
"scope_resolution_namespace_block": {
13389
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13390
"captures": {
13391
"0": {
13392
"patterns": [
13393
{
13394
"include": "#scope_resolution_namespace_block_inner_generated"
13395
}
13396
]
13397
},
13398
"1": {
13399
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"
13400
},
13401
"2": {
13402
"patterns": [
13403
{
13404
"include": "#template_call_range"
13405
}
13406
]
13407
}
13408
}
13409
},
13410
"scope_resolution_namespace_block_inner_generated": {
13411
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13412
"captures": {
13413
"1": {
13414
"patterns": [
13415
{
13416
"include": "#scope_resolution_namespace_block_inner_generated"
13417
}
13418
]
13419
},
13420
"2": {
13421
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"
13422
},
13423
"3": {
13424
"patterns": [
13425
{
13426
"include": "#template_call_range"
13427
}
13428
]
13429
},
13430
"4": {},
13431
"5": {
13432
"name": "entity.name.scope-resolution.namespace.block.cuda-cpp"
13433
},
13434
"6": {
13435
"name": "meta.template.call.cuda-cpp",
13436
"patterns": [
13437
{
13438
"include": "#template_call_range"
13439
}
13440
]
13441
},
13442
"7": {},
13443
"8": {
13444
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.block.cuda-cpp"
13445
}
13446
}
13447
},
13448
"scope_resolution_namespace_using": {
13449
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13450
"captures": {
13451
"0": {
13452
"patterns": [
13453
{
13454
"include": "#scope_resolution_namespace_using_inner_generated"
13455
}
13456
]
13457
},
13458
"1": {
13459
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"
13460
},
13461
"2": {
13462
"patterns": [
13463
{
13464
"include": "#template_call_range"
13465
}
13466
]
13467
}
13468
}
13469
},
13470
"scope_resolution_namespace_using_inner_generated": {
13471
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13472
"captures": {
13473
"1": {
13474
"patterns": [
13475
{
13476
"include": "#scope_resolution_namespace_using_inner_generated"
13477
}
13478
]
13479
},
13480
"2": {
13481
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"
13482
},
13483
"3": {
13484
"patterns": [
13485
{
13486
"include": "#template_call_range"
13487
}
13488
]
13489
},
13490
"4": {},
13491
"5": {
13492
"name": "entity.name.scope-resolution.namespace.using.cuda-cpp"
13493
},
13494
"6": {
13495
"name": "meta.template.call.cuda-cpp",
13496
"patterns": [
13497
{
13498
"include": "#template_call_range"
13499
}
13500
]
13501
},
13502
"7": {},
13503
"8": {
13504
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"
13505
}
13506
}
13507
},
13508
"scope_resolution_parameter": {
13509
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13510
"captures": {
13511
"0": {
13512
"patterns": [
13513
{
13514
"include": "#scope_resolution_parameter_inner_generated"
13515
}
13516
]
13517
},
13518
"1": {
13519
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp"
13520
},
13521
"2": {
13522
"patterns": [
13523
{
13524
"include": "#template_call_range"
13525
}
13526
]
13527
}
13528
}
13529
},
13530
"scope_resolution_parameter_inner_generated": {
13531
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13532
"captures": {
13533
"1": {
13534
"patterns": [
13535
{
13536
"include": "#scope_resolution_parameter_inner_generated"
13537
}
13538
]
13539
},
13540
"2": {
13541
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp"
13542
},
13543
"3": {
13544
"patterns": [
13545
{
13546
"include": "#template_call_range"
13547
}
13548
]
13549
},
13550
"4": {},
13551
"5": {
13552
"name": "entity.name.scope-resolution.parameter.cuda-cpp"
13553
},
13554
"6": {
13555
"name": "meta.template.call.cuda-cpp",
13556
"patterns": [
13557
{
13558
"include": "#template_call_range"
13559
}
13560
]
13561
},
13562
"7": {},
13563
"8": {
13564
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.parameter.cuda-cpp"
13565
}
13566
}
13567
},
13568
"scope_resolution_template_call": {
13569
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13570
"captures": {
13571
"0": {
13572
"patterns": [
13573
{
13574
"include": "#scope_resolution_template_call_inner_generated"
13575
}
13576
]
13577
},
13578
"1": {
13579
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp"
13580
},
13581
"2": {
13582
"patterns": [
13583
{
13584
"include": "#template_call_range"
13585
}
13586
]
13587
}
13588
}
13589
},
13590
"scope_resolution_template_call_inner_generated": {
13591
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13592
"captures": {
13593
"1": {
13594
"patterns": [
13595
{
13596
"include": "#scope_resolution_template_call_inner_generated"
13597
}
13598
]
13599
},
13600
"2": {
13601
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp"
13602
},
13603
"3": {
13604
"patterns": [
13605
{
13606
"include": "#template_call_range"
13607
}
13608
]
13609
},
13610
"4": {},
13611
"5": {
13612
"name": "entity.name.scope-resolution.template.call.cuda-cpp"
13613
},
13614
"6": {
13615
"name": "meta.template.call.cuda-cpp",
13616
"patterns": [
13617
{
13618
"include": "#template_call_range"
13619
}
13620
]
13621
},
13622
"7": {},
13623
"8": {
13624
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.call.cuda-cpp"
13625
}
13626
}
13627
},
13628
"scope_resolution_template_definition": {
13629
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<3>?)+>)(?:\\s)*+)?::)*\\s*+",
13630
"captures": {
13631
"0": {
13632
"patterns": [
13633
{
13634
"include": "#scope_resolution_template_definition_inner_generated"
13635
}
13636
]
13637
},
13638
"1": {
13639
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp"
13640
},
13641
"2": {
13642
"patterns": [
13643
{
13644
"include": "#template_call_range"
13645
}
13646
]
13647
}
13648
}
13649
},
13650
"scope_resolution_template_definition_inner_generated": {
13651
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<7>?)+>)(?:\\s)*+)?(::)",
13652
"captures": {
13653
"1": {
13654
"patterns": [
13655
{
13656
"include": "#scope_resolution_template_definition_inner_generated"
13657
}
13658
]
13659
},
13660
"2": {
13661
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp"
13662
},
13663
"3": {
13664
"patterns": [
13665
{
13666
"include": "#template_call_range"
13667
}
13668
]
13669
},
13670
"4": {},
13671
"5": {
13672
"name": "entity.name.scope-resolution.template.definition.cuda-cpp"
13673
},
13674
"6": {
13675
"name": "meta.template.call.cuda-cpp",
13676
"patterns": [
13677
{
13678
"include": "#template_call_range"
13679
}
13680
]
13681
},
13682
"7": {},
13683
"8": {
13684
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.template.definition.cuda-cpp"
13685
}
13686
}
13687
},
13688
"semicolon": {
13689
"match": ";",
13690
"name": "punctuation.terminator.statement.cuda-cpp"
13691
},
13692
"simple_type": {
13693
"match": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<12>?)+>)?(?![\\w<:.]))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?",
13694
"captures": {
13695
"1": {
13696
"name": "meta.qualified_type.cuda-cpp",
13697
"patterns": [
13698
{
13699
"match": "::",
13700
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
13701
},
13702
{
13703
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
13704
"name": "storage.type.$0.cuda-cpp"
13705
},
13706
{
13707
"include": "#attributes_context"
13708
},
13709
{
13710
"include": "#storage_types"
13711
},
13712
{
13713
"include": "#number_literal"
13714
},
13715
{
13716
"include": "#string_context"
13717
},
13718
{
13719
"include": "#comma"
13720
},
13721
{
13722
"include": "#scope_resolution_inner_generated"
13723
},
13724
{
13725
"begin": "<",
13726
"end": ">",
13727
"beginCaptures": {
13728
"0": {
13729
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
13730
}
13731
},
13732
"endCaptures": {
13733
"0": {
13734
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
13735
}
13736
},
13737
"name": "meta.template.call.cuda-cpp",
13738
"patterns": [
13739
{
13740
"include": "#template_call_context"
13741
}
13742
]
13743
},
13744
{
13745
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
13746
"name": "entity.name.type.cuda-cpp"
13747
}
13748
]
13749
},
13750
"2": {
13751
"patterns": [
13752
{
13753
"include": "#attributes_context"
13754
},
13755
{
13756
"include": "#number_literal"
13757
}
13758
]
13759
},
13760
"3": {
13761
"patterns": [
13762
{
13763
"include": "#inline_comment"
13764
}
13765
]
13766
},
13767
"4": {
13768
"patterns": [
13769
{
13770
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13771
"captures": {
13772
"1": {
13773
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13774
},
13775
"2": {
13776
"name": "comment.block.cuda-cpp"
13777
},
13778
"3": {
13779
"patterns": [
13780
{
13781
"match": "\\*\\/",
13782
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13783
},
13784
{
13785
"match": "\\*",
13786
"name": "comment.block.cuda-cpp"
13787
}
13788
]
13789
}
13790
}
13791
}
13792
]
13793
},
13794
"5": {
13795
"patterns": [
13796
{
13797
"include": "#inline_comment"
13798
}
13799
]
13800
},
13801
"6": {
13802
"patterns": [
13803
{
13804
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13805
"captures": {
13806
"1": {
13807
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13808
},
13809
"2": {
13810
"name": "comment.block.cuda-cpp"
13811
},
13812
"3": {
13813
"patterns": [
13814
{
13815
"match": "\\*\\/",
13816
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13817
},
13818
{
13819
"match": "\\*",
13820
"name": "comment.block.cuda-cpp"
13821
}
13822
]
13823
}
13824
}
13825
}
13826
]
13827
},
13828
"7": {
13829
"patterns": [
13830
{
13831
"match": "::",
13832
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
13833
},
13834
{
13835
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
13836
"name": "entity.name.scope-resolution.type.cuda-cpp"
13837
},
13838
{
13839
"include": "#template_call_range"
13840
}
13841
]
13842
},
13843
"8": {
13844
"patterns": [
13845
{
13846
"include": "#template_call_range"
13847
}
13848
]
13849
},
13850
"9": {},
13851
"10": {
13852
"patterns": [
13853
{
13854
"include": "#inline_comment"
13855
}
13856
]
13857
},
13858
"11": {
13859
"patterns": [
13860
{
13861
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13862
"captures": {
13863
"1": {
13864
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13865
},
13866
"2": {
13867
"name": "comment.block.cuda-cpp"
13868
},
13869
"3": {
13870
"patterns": [
13871
{
13872
"match": "\\*\\/",
13873
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13874
},
13875
{
13876
"match": "\\*",
13877
"name": "comment.block.cuda-cpp"
13878
}
13879
]
13880
}
13881
}
13882
}
13883
]
13884
},
13885
"12": {},
13886
"13": {
13887
"patterns": [
13888
{
13889
"match": "\\*",
13890
"name": "storage.modifier.pointer.cuda-cpp"
13891
},
13892
{
13893
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
13894
"captures": {
13895
"1": {
13896
"patterns": [
13897
{
13898
"include": "#inline_comment"
13899
}
13900
]
13901
},
13902
"2": {
13903
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13904
},
13905
"3": {
13906
"name": "comment.block.cuda-cpp"
13907
},
13908
"4": {
13909
"patterns": [
13910
{
13911
"match": "\\*\\/",
13912
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13913
},
13914
{
13915
"match": "\\*",
13916
"name": "comment.block.cuda-cpp"
13917
}
13918
]
13919
}
13920
},
13921
"name": "invalid.illegal.reference-type.cuda-cpp"
13922
},
13923
{
13924
"match": "\\&",
13925
"name": "storage.modifier.reference.cuda-cpp"
13926
}
13927
]
13928
},
13929
"14": {
13930
"patterns": [
13931
{
13932
"include": "#inline_comment"
13933
}
13934
]
13935
},
13936
"15": {
13937
"patterns": [
13938
{
13939
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13940
"captures": {
13941
"1": {
13942
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13943
},
13944
"2": {
13945
"name": "comment.block.cuda-cpp"
13946
},
13947
"3": {
13948
"patterns": [
13949
{
13950
"match": "\\*\\/",
13951
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13952
},
13953
{
13954
"match": "\\*",
13955
"name": "comment.block.cuda-cpp"
13956
}
13957
]
13958
}
13959
}
13960
}
13961
]
13962
},
13963
"16": {
13964
"patterns": [
13965
{
13966
"include": "#inline_comment"
13967
}
13968
]
13969
},
13970
"17": {
13971
"patterns": [
13972
{
13973
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
13974
"captures": {
13975
"1": {
13976
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
13977
},
13978
"2": {
13979
"name": "comment.block.cuda-cpp"
13980
},
13981
"3": {
13982
"patterns": [
13983
{
13984
"match": "\\*\\/",
13985
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
13986
},
13987
{
13988
"match": "\\*",
13989
"name": "comment.block.cuda-cpp"
13990
}
13991
]
13992
}
13993
}
13994
}
13995
]
13996
}
13997
}
13998
},
13999
"single_line_macro": {
14000
"match": "^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))#define.*(?<![\\\\])(?:(?:\\n)|$)",
14001
"captures": {
14002
"0": {
14003
"patterns": [
14004
{
14005
"include": "#macro"
14006
},
14007
{
14008
"include": "#comments"
14009
}
14010
]
14011
},
14012
"1": {
14013
"patterns": [
14014
{
14015
"include": "#inline_comment"
14016
}
14017
]
14018
},
14019
"2": {
14020
"patterns": [
14021
{
14022
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14023
"captures": {
14024
"1": {
14025
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14026
},
14027
"2": {
14028
"name": "comment.block.cuda-cpp"
14029
},
14030
"3": {
14031
"patterns": [
14032
{
14033
"match": "\\*\\/",
14034
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14035
},
14036
{
14037
"match": "\\*",
14038
"name": "comment.block.cuda-cpp"
14039
}
14040
]
14041
}
14042
}
14043
}
14044
]
14045
}
14046
}
14047
},
14048
"sizeof_operator": {
14049
"begin": "((?<!\\w)sizeof(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
14050
"end": "\\)",
14051
"beginCaptures": {
14052
"1": {
14053
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.cuda-cpp"
14054
},
14055
"2": {
14056
"patterns": [
14057
{
14058
"include": "#inline_comment"
14059
}
14060
]
14061
},
14062
"3": {
14063
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14064
},
14065
"4": {
14066
"name": "comment.block.cuda-cpp"
14067
},
14068
"5": {
14069
"patterns": [
14070
{
14071
"match": "\\*\\/",
14072
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14073
},
14074
{
14075
"match": "\\*",
14076
"name": "comment.block.cuda-cpp"
14077
}
14078
]
14079
},
14080
"6": {
14081
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cuda-cpp"
14082
}
14083
},
14084
"endCaptures": {
14085
"0": {
14086
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cuda-cpp"
14087
}
14088
},
14089
"contentName": "meta.arguments.operator.sizeof",
14090
"patterns": [
14091
{
14092
"include": "#evaluation_context"
14093
}
14094
]
14095
},
14096
"sizeof_variadic_operator": {
14097
"begin": "(\\bsizeof\\.\\.\\.)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
14098
"end": "\\)",
14099
"beginCaptures": {
14100
"1": {
14101
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.sizeof.variadic.cuda-cpp"
14102
},
14103
"2": {
14104
"patterns": [
14105
{
14106
"include": "#inline_comment"
14107
}
14108
]
14109
},
14110
"3": {
14111
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14112
},
14113
"4": {
14114
"name": "comment.block.cuda-cpp"
14115
},
14116
"5": {
14117
"patterns": [
14118
{
14119
"match": "\\*\\/",
14120
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14121
},
14122
{
14123
"match": "\\*",
14124
"name": "comment.block.cuda-cpp"
14125
}
14126
]
14127
},
14128
"6": {
14129
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cuda-cpp"
14130
}
14131
},
14132
"endCaptures": {
14133
"0": {
14134
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cuda-cpp"
14135
}
14136
},
14137
"contentName": "meta.arguments.operator.sizeof.variadic",
14138
"patterns": [
14139
{
14140
"include": "#evaluation_context"
14141
}
14142
]
14143
},
14144
"square_brackets": {
14145
"name": "meta.bracket.square.access",
14146
"begin": "([a-zA-Z_][a-zA-Z_0-9]*|(?<=[\\]\\)]))?(\\[)(?!\\])",
14147
"beginCaptures": {
14148
"1": {
14149
"name": "variable.other.object"
14150
},
14151
"2": {
14152
"name": "punctuation.definition.begin.bracket.square"
14153
}
14154
},
14155
"end": "\\]",
14156
"endCaptures": {
14157
"0": {
14158
"name": "punctuation.definition.end.bracket.square"
14159
}
14160
},
14161
"patterns": [
14162
{
14163
"include": "#evaluation_context"
14164
}
14165
]
14166
},
14167
"standard_declares": {
14168
"patterns": [
14169
{
14170
"match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14171
"captures": {
14172
"1": {
14173
"name": "storage.type.struct.declare.cuda-cpp"
14174
},
14175
"2": {
14176
"patterns": [
14177
{
14178
"include": "#inline_comment"
14179
}
14180
]
14181
},
14182
"3": {
14183
"patterns": [
14184
{
14185
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14186
"captures": {
14187
"1": {
14188
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14189
},
14190
"2": {
14191
"name": "comment.block.cuda-cpp"
14192
},
14193
"3": {
14194
"patterns": [
14195
{
14196
"match": "\\*\\/",
14197
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14198
},
14199
{
14200
"match": "\\*",
14201
"name": "comment.block.cuda-cpp"
14202
}
14203
]
14204
}
14205
}
14206
}
14207
]
14208
},
14209
"4": {
14210
"name": "entity.name.type.struct.cuda-cpp"
14211
},
14212
"5": {
14213
"patterns": [
14214
{
14215
"match": "\\*",
14216
"name": "storage.modifier.pointer.cuda-cpp"
14217
},
14218
{
14219
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14220
"captures": {
14221
"1": {
14222
"patterns": [
14223
{
14224
"include": "#inline_comment"
14225
}
14226
]
14227
},
14228
"2": {
14229
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14230
},
14231
"3": {
14232
"name": "comment.block.cuda-cpp"
14233
},
14234
"4": {
14235
"patterns": [
14236
{
14237
"match": "\\*\\/",
14238
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14239
},
14240
{
14241
"match": "\\*",
14242
"name": "comment.block.cuda-cpp"
14243
}
14244
]
14245
}
14246
},
14247
"name": "invalid.illegal.reference-type.cuda-cpp"
14248
},
14249
{
14250
"match": "\\&",
14251
"name": "storage.modifier.reference.cuda-cpp"
14252
}
14253
]
14254
},
14255
"6": {
14256
"patterns": [
14257
{
14258
"include": "#inline_comment"
14259
}
14260
]
14261
},
14262
"7": {
14263
"patterns": [
14264
{
14265
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14266
"captures": {
14267
"1": {
14268
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14269
},
14270
"2": {
14271
"name": "comment.block.cuda-cpp"
14272
},
14273
"3": {
14274
"patterns": [
14275
{
14276
"match": "\\*\\/",
14277
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14278
},
14279
{
14280
"match": "\\*",
14281
"name": "comment.block.cuda-cpp"
14282
}
14283
]
14284
}
14285
}
14286
}
14287
]
14288
},
14289
"8": {
14290
"patterns": [
14291
{
14292
"include": "#inline_comment"
14293
}
14294
]
14295
},
14296
"9": {
14297
"patterns": [
14298
{
14299
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14300
"captures": {
14301
"1": {
14302
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14303
},
14304
"2": {
14305
"name": "comment.block.cuda-cpp"
14306
},
14307
"3": {
14308
"patterns": [
14309
{
14310
"match": "\\*\\/",
14311
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14312
},
14313
{
14314
"match": "\\*",
14315
"name": "comment.block.cuda-cpp"
14316
}
14317
]
14318
}
14319
}
14320
}
14321
]
14322
},
14323
"10": {
14324
"patterns": [
14325
{
14326
"include": "#inline_comment"
14327
}
14328
]
14329
},
14330
"11": {
14331
"patterns": [
14332
{
14333
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14334
"captures": {
14335
"1": {
14336
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14337
},
14338
"2": {
14339
"name": "comment.block.cuda-cpp"
14340
},
14341
"3": {
14342
"patterns": [
14343
{
14344
"match": "\\*\\/",
14345
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14346
},
14347
{
14348
"match": "\\*",
14349
"name": "comment.block.cuda-cpp"
14350
}
14351
]
14352
}
14353
}
14354
}
14355
]
14356
},
14357
"12": {
14358
"name": "variable.other.object.declare.cuda-cpp"
14359
},
14360
"13": {
14361
"patterns": [
14362
{
14363
"include": "#inline_comment"
14364
}
14365
]
14366
},
14367
"14": {
14368
"patterns": [
14369
{
14370
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14371
"captures": {
14372
"1": {
14373
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14374
},
14375
"2": {
14376
"name": "comment.block.cuda-cpp"
14377
},
14378
"3": {
14379
"patterns": [
14380
{
14381
"match": "\\*\\/",
14382
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14383
},
14384
{
14385
"match": "\\*",
14386
"name": "comment.block.cuda-cpp"
14387
}
14388
]
14389
}
14390
}
14391
}
14392
]
14393
}
14394
}
14395
},
14396
{
14397
"match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14398
"captures": {
14399
"1": {
14400
"name": "storage.type.union.declare.cuda-cpp"
14401
},
14402
"2": {
14403
"patterns": [
14404
{
14405
"include": "#inline_comment"
14406
}
14407
]
14408
},
14409
"3": {
14410
"patterns": [
14411
{
14412
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14413
"captures": {
14414
"1": {
14415
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14416
},
14417
"2": {
14418
"name": "comment.block.cuda-cpp"
14419
},
14420
"3": {
14421
"patterns": [
14422
{
14423
"match": "\\*\\/",
14424
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14425
},
14426
{
14427
"match": "\\*",
14428
"name": "comment.block.cuda-cpp"
14429
}
14430
]
14431
}
14432
}
14433
}
14434
]
14435
},
14436
"4": {
14437
"name": "entity.name.type.union.cuda-cpp"
14438
},
14439
"5": {
14440
"patterns": [
14441
{
14442
"match": "\\*",
14443
"name": "storage.modifier.pointer.cuda-cpp"
14444
},
14445
{
14446
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14447
"captures": {
14448
"1": {
14449
"patterns": [
14450
{
14451
"include": "#inline_comment"
14452
}
14453
]
14454
},
14455
"2": {
14456
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14457
},
14458
"3": {
14459
"name": "comment.block.cuda-cpp"
14460
},
14461
"4": {
14462
"patterns": [
14463
{
14464
"match": "\\*\\/",
14465
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14466
},
14467
{
14468
"match": "\\*",
14469
"name": "comment.block.cuda-cpp"
14470
}
14471
]
14472
}
14473
},
14474
"name": "invalid.illegal.reference-type.cuda-cpp"
14475
},
14476
{
14477
"match": "\\&",
14478
"name": "storage.modifier.reference.cuda-cpp"
14479
}
14480
]
14481
},
14482
"6": {
14483
"patterns": [
14484
{
14485
"include": "#inline_comment"
14486
}
14487
]
14488
},
14489
"7": {
14490
"patterns": [
14491
{
14492
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14493
"captures": {
14494
"1": {
14495
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14496
},
14497
"2": {
14498
"name": "comment.block.cuda-cpp"
14499
},
14500
"3": {
14501
"patterns": [
14502
{
14503
"match": "\\*\\/",
14504
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14505
},
14506
{
14507
"match": "\\*",
14508
"name": "comment.block.cuda-cpp"
14509
}
14510
]
14511
}
14512
}
14513
}
14514
]
14515
},
14516
"8": {
14517
"patterns": [
14518
{
14519
"include": "#inline_comment"
14520
}
14521
]
14522
},
14523
"9": {
14524
"patterns": [
14525
{
14526
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14527
"captures": {
14528
"1": {
14529
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14530
},
14531
"2": {
14532
"name": "comment.block.cuda-cpp"
14533
},
14534
"3": {
14535
"patterns": [
14536
{
14537
"match": "\\*\\/",
14538
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14539
},
14540
{
14541
"match": "\\*",
14542
"name": "comment.block.cuda-cpp"
14543
}
14544
]
14545
}
14546
}
14547
}
14548
]
14549
},
14550
"10": {
14551
"patterns": [
14552
{
14553
"include": "#inline_comment"
14554
}
14555
]
14556
},
14557
"11": {
14558
"patterns": [
14559
{
14560
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14561
"captures": {
14562
"1": {
14563
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14564
},
14565
"2": {
14566
"name": "comment.block.cuda-cpp"
14567
},
14568
"3": {
14569
"patterns": [
14570
{
14571
"match": "\\*\\/",
14572
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14573
},
14574
{
14575
"match": "\\*",
14576
"name": "comment.block.cuda-cpp"
14577
}
14578
]
14579
}
14580
}
14581
}
14582
]
14583
},
14584
"12": {
14585
"name": "variable.other.object.declare.cuda-cpp"
14586
},
14587
"13": {
14588
"patterns": [
14589
{
14590
"include": "#inline_comment"
14591
}
14592
]
14593
},
14594
"14": {
14595
"patterns": [
14596
{
14597
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14598
"captures": {
14599
"1": {
14600
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14601
},
14602
"2": {
14603
"name": "comment.block.cuda-cpp"
14604
},
14605
"3": {
14606
"patterns": [
14607
{
14608
"match": "\\*\\/",
14609
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14610
},
14611
{
14612
"match": "\\*",
14613
"name": "comment.block.cuda-cpp"
14614
}
14615
]
14616
}
14617
}
14618
}
14619
]
14620
}
14621
}
14622
},
14623
{
14624
"match": "((?<!\\w)enum(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14625
"captures": {
14626
"1": {
14627
"name": "storage.type.enum.declare.cuda-cpp"
14628
},
14629
"2": {
14630
"patterns": [
14631
{
14632
"include": "#inline_comment"
14633
}
14634
]
14635
},
14636
"3": {
14637
"patterns": [
14638
{
14639
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14640
"captures": {
14641
"1": {
14642
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14643
},
14644
"2": {
14645
"name": "comment.block.cuda-cpp"
14646
},
14647
"3": {
14648
"patterns": [
14649
{
14650
"match": "\\*\\/",
14651
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14652
},
14653
{
14654
"match": "\\*",
14655
"name": "comment.block.cuda-cpp"
14656
}
14657
]
14658
}
14659
}
14660
}
14661
]
14662
},
14663
"4": {
14664
"name": "entity.name.type.enum.cuda-cpp"
14665
},
14666
"5": {
14667
"patterns": [
14668
{
14669
"match": "\\*",
14670
"name": "storage.modifier.pointer.cuda-cpp"
14671
},
14672
{
14673
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14674
"captures": {
14675
"1": {
14676
"patterns": [
14677
{
14678
"include": "#inline_comment"
14679
}
14680
]
14681
},
14682
"2": {
14683
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14684
},
14685
"3": {
14686
"name": "comment.block.cuda-cpp"
14687
},
14688
"4": {
14689
"patterns": [
14690
{
14691
"match": "\\*\\/",
14692
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14693
},
14694
{
14695
"match": "\\*",
14696
"name": "comment.block.cuda-cpp"
14697
}
14698
]
14699
}
14700
},
14701
"name": "invalid.illegal.reference-type.cuda-cpp"
14702
},
14703
{
14704
"match": "\\&",
14705
"name": "storage.modifier.reference.cuda-cpp"
14706
}
14707
]
14708
},
14709
"6": {
14710
"patterns": [
14711
{
14712
"include": "#inline_comment"
14713
}
14714
]
14715
},
14716
"7": {
14717
"patterns": [
14718
{
14719
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14720
"captures": {
14721
"1": {
14722
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14723
},
14724
"2": {
14725
"name": "comment.block.cuda-cpp"
14726
},
14727
"3": {
14728
"patterns": [
14729
{
14730
"match": "\\*\\/",
14731
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14732
},
14733
{
14734
"match": "\\*",
14735
"name": "comment.block.cuda-cpp"
14736
}
14737
]
14738
}
14739
}
14740
}
14741
]
14742
},
14743
"8": {
14744
"patterns": [
14745
{
14746
"include": "#inline_comment"
14747
}
14748
]
14749
},
14750
"9": {
14751
"patterns": [
14752
{
14753
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14754
"captures": {
14755
"1": {
14756
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14757
},
14758
"2": {
14759
"name": "comment.block.cuda-cpp"
14760
},
14761
"3": {
14762
"patterns": [
14763
{
14764
"match": "\\*\\/",
14765
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14766
},
14767
{
14768
"match": "\\*",
14769
"name": "comment.block.cuda-cpp"
14770
}
14771
]
14772
}
14773
}
14774
}
14775
]
14776
},
14777
"10": {
14778
"patterns": [
14779
{
14780
"include": "#inline_comment"
14781
}
14782
]
14783
},
14784
"11": {
14785
"patterns": [
14786
{
14787
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14788
"captures": {
14789
"1": {
14790
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14791
},
14792
"2": {
14793
"name": "comment.block.cuda-cpp"
14794
},
14795
"3": {
14796
"patterns": [
14797
{
14798
"match": "\\*\\/",
14799
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14800
},
14801
{
14802
"match": "\\*",
14803
"name": "comment.block.cuda-cpp"
14804
}
14805
]
14806
}
14807
}
14808
}
14809
]
14810
},
14811
"12": {
14812
"name": "variable.other.object.declare.cuda-cpp"
14813
},
14814
"13": {
14815
"patterns": [
14816
{
14817
"include": "#inline_comment"
14818
}
14819
]
14820
},
14821
"14": {
14822
"patterns": [
14823
{
14824
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14825
"captures": {
14826
"1": {
14827
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14828
},
14829
"2": {
14830
"name": "comment.block.cuda-cpp"
14831
},
14832
"3": {
14833
"patterns": [
14834
{
14835
"match": "\\*\\/",
14836
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14837
},
14838
{
14839
"match": "\\*",
14840
"name": "comment.block.cuda-cpp"
14841
}
14842
]
14843
}
14844
}
14845
}
14846
]
14847
}
14848
}
14849
},
14850
{
14851
"match": "((?<!\\w)class(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
14852
"captures": {
14853
"1": {
14854
"name": "storage.type.class.declare.cuda-cpp"
14855
},
14856
"2": {
14857
"patterns": [
14858
{
14859
"include": "#inline_comment"
14860
}
14861
]
14862
},
14863
"3": {
14864
"patterns": [
14865
{
14866
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14867
"captures": {
14868
"1": {
14869
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14870
},
14871
"2": {
14872
"name": "comment.block.cuda-cpp"
14873
},
14874
"3": {
14875
"patterns": [
14876
{
14877
"match": "\\*\\/",
14878
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14879
},
14880
{
14881
"match": "\\*",
14882
"name": "comment.block.cuda-cpp"
14883
}
14884
]
14885
}
14886
}
14887
}
14888
]
14889
},
14890
"4": {
14891
"name": "entity.name.type.class.cuda-cpp"
14892
},
14893
"5": {
14894
"patterns": [
14895
{
14896
"match": "\\*",
14897
"name": "storage.modifier.pointer.cuda-cpp"
14898
},
14899
{
14900
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
14901
"captures": {
14902
"1": {
14903
"patterns": [
14904
{
14905
"include": "#inline_comment"
14906
}
14907
]
14908
},
14909
"2": {
14910
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14911
},
14912
"3": {
14913
"name": "comment.block.cuda-cpp"
14914
},
14915
"4": {
14916
"patterns": [
14917
{
14918
"match": "\\*\\/",
14919
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14920
},
14921
{
14922
"match": "\\*",
14923
"name": "comment.block.cuda-cpp"
14924
}
14925
]
14926
}
14927
},
14928
"name": "invalid.illegal.reference-type.cuda-cpp"
14929
},
14930
{
14931
"match": "\\&",
14932
"name": "storage.modifier.reference.cuda-cpp"
14933
}
14934
]
14935
},
14936
"6": {
14937
"patterns": [
14938
{
14939
"include": "#inline_comment"
14940
}
14941
]
14942
},
14943
"7": {
14944
"patterns": [
14945
{
14946
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14947
"captures": {
14948
"1": {
14949
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14950
},
14951
"2": {
14952
"name": "comment.block.cuda-cpp"
14953
},
14954
"3": {
14955
"patterns": [
14956
{
14957
"match": "\\*\\/",
14958
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14959
},
14960
{
14961
"match": "\\*",
14962
"name": "comment.block.cuda-cpp"
14963
}
14964
]
14965
}
14966
}
14967
}
14968
]
14969
},
14970
"8": {
14971
"patterns": [
14972
{
14973
"include": "#inline_comment"
14974
}
14975
]
14976
},
14977
"9": {
14978
"patterns": [
14979
{
14980
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
14981
"captures": {
14982
"1": {
14983
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
14984
},
14985
"2": {
14986
"name": "comment.block.cuda-cpp"
14987
},
14988
"3": {
14989
"patterns": [
14990
{
14991
"match": "\\*\\/",
14992
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
14993
},
14994
{
14995
"match": "\\*",
14996
"name": "comment.block.cuda-cpp"
14997
}
14998
]
14999
}
15000
}
15001
}
15002
]
15003
},
15004
"10": {
15005
"patterns": [
15006
{
15007
"include": "#inline_comment"
15008
}
15009
]
15010
},
15011
"11": {
15012
"patterns": [
15013
{
15014
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15015
"captures": {
15016
"1": {
15017
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15018
},
15019
"2": {
15020
"name": "comment.block.cuda-cpp"
15021
},
15022
"3": {
15023
"patterns": [
15024
{
15025
"match": "\\*\\/",
15026
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15027
},
15028
{
15029
"match": "\\*",
15030
"name": "comment.block.cuda-cpp"
15031
}
15032
]
15033
}
15034
}
15035
}
15036
]
15037
},
15038
"12": {
15039
"name": "variable.other.object.declare.cuda-cpp"
15040
},
15041
"13": {
15042
"patterns": [
15043
{
15044
"include": "#inline_comment"
15045
}
15046
]
15047
},
15048
"14": {
15049
"patterns": [
15050
{
15051
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15052
"captures": {
15053
"1": {
15054
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15055
},
15056
"2": {
15057
"name": "comment.block.cuda-cpp"
15058
},
15059
"3": {
15060
"patterns": [
15061
{
15062
"match": "\\*\\/",
15063
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15064
},
15065
{
15066
"match": "\\*",
15067
"name": "comment.block.cuda-cpp"
15068
}
15069
]
15070
}
15071
}
15072
}
15073
]
15074
}
15075
}
15076
}
15077
]
15078
},
15079
"static_assert": {
15080
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)static_assert|_Static_assert(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
15081
"end": "\\)",
15082
"beginCaptures": {
15083
"1": {
15084
"patterns": [
15085
{
15086
"include": "#inline_comment"
15087
}
15088
]
15089
},
15090
"2": {
15091
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15092
},
15093
"3": {
15094
"name": "comment.block.cuda-cpp"
15095
},
15096
"4": {
15097
"patterns": [
15098
{
15099
"match": "\\*\\/",
15100
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15101
},
15102
{
15103
"match": "\\*",
15104
"name": "comment.block.cuda-cpp"
15105
}
15106
]
15107
},
15108
"5": {
15109
"name": "keyword.other.static_assert.cuda-cpp"
15110
},
15111
"6": {
15112
"patterns": [
15113
{
15114
"include": "#inline_comment"
15115
}
15116
]
15117
},
15118
"7": {
15119
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15120
},
15121
"8": {
15122
"name": "comment.block.cuda-cpp"
15123
},
15124
"9": {
15125
"patterns": [
15126
{
15127
"match": "\\*\\/",
15128
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15129
},
15130
{
15131
"match": "\\*",
15132
"name": "comment.block.cuda-cpp"
15133
}
15134
]
15135
},
15136
"10": {
15137
"name": "punctuation.section.arguments.begin.bracket.round.static_assert.cuda-cpp"
15138
}
15139
},
15140
"endCaptures": {
15141
"0": {
15142
"name": "punctuation.section.arguments.end.bracket.round.static_assert.cuda-cpp"
15143
}
15144
},
15145
"patterns": [
15146
{
15147
"begin": "(,)(?:(?:\\s)+)?(?=(?:L|u8|u|U(?:(?:\\s)+)?\\\")?)",
15148
"end": "(?=\\))",
15149
"beginCaptures": {
15150
"1": {
15151
"name": "punctuation.separator.delimiter.comma.cuda-cpp"
15152
}
15153
},
15154
"endCaptures": {},
15155
"name": "meta.static_assert.message.cuda-cpp",
15156
"patterns": [
15157
{
15158
"include": "#string_context"
15159
}
15160
]
15161
},
15162
{
15163
"include": "#evaluation_context"
15164
}
15165
]
15166
},
15167
"std_space": {
15168
"match": "(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))",
15169
"captures": {
15170
"0": {
15171
"patterns": [
15172
{
15173
"include": "#inline_comment"
15174
}
15175
]
15176
},
15177
"1": {
15178
"patterns": [
15179
{
15180
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15181
"captures": {
15182
"1": {
15183
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15184
},
15185
"2": {
15186
"name": "comment.block.cuda-cpp"
15187
},
15188
"3": {
15189
"patterns": [
15190
{
15191
"match": "\\*\\/",
15192
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15193
},
15194
{
15195
"match": "\\*",
15196
"name": "comment.block.cuda-cpp"
15197
}
15198
]
15199
}
15200
}
15201
}
15202
]
15203
}
15204
}
15205
},
15206
"storage_specifiers": {
15207
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w))",
15208
"captures": {
15209
"1": {
15210
"patterns": [
15211
{
15212
"include": "#inline_comment"
15213
}
15214
]
15215
},
15216
"2": {
15217
"patterns": [
15218
{
15219
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15220
"captures": {
15221
"1": {
15222
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15223
},
15224
"2": {
15225
"name": "comment.block.cuda-cpp"
15226
},
15227
"3": {
15228
"patterns": [
15229
{
15230
"match": "\\*\\/",
15231
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15232
},
15233
{
15234
"match": "\\*",
15235
"name": "comment.block.cuda-cpp"
15236
}
15237
]
15238
}
15239
}
15240
}
15241
]
15242
},
15243
"3": {
15244
"name": "storage.modifier.specifier.$3.cuda-cpp"
15245
}
15246
}
15247
},
15248
"storage_types": {
15249
"patterns": [
15250
{
15251
"include": "#storage_specifiers"
15252
},
15253
{
15254
"include": "#inline_builtin_storage_type"
15255
},
15256
{
15257
"include": "#decltype"
15258
},
15259
{
15260
"include": "#typename"
15261
}
15262
]
15263
},
15264
"string_context": {
15265
"patterns": [
15266
{
15267
"begin": "((?:u|u8|U|L)?)\"",
15268
"end": "\"",
15269
"beginCaptures": {
15270
"0": {
15271
"name": "punctuation.definition.string.begin.cuda-cpp"
15272
},
15273
"1": {
15274
"name": "meta.encoding.cuda-cpp"
15275
}
15276
},
15277
"endCaptures": {
15278
"0": {
15279
"name": "punctuation.definition.string.end.cuda-cpp"
15280
}
15281
},
15282
"name": "string.quoted.double.cuda-cpp",
15283
"patterns": [
15284
{
15285
"match": "(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8})",
15286
"name": "constant.character.escape.cuda-cpp"
15287
},
15288
{
15289
"match": "\\\\['\"?\\\\abfnrtv]",
15290
"name": "constant.character.escape.cuda-cpp"
15291
},
15292
{
15293
"match": "\\\\[0-7]{1,3}",
15294
"name": "constant.character.escape.cuda-cpp"
15295
},
15296
{
15297
"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
15298
"captures": {
15299
"1": {
15300
"name": "constant.character.escape.cuda-cpp"
15301
},
15302
"2": {
15303
"name": "invalid.illegal.unknown-escape.cuda-cpp"
15304
}
15305
}
15306
},
15307
{
15308
"include": "#string_escapes_context_c"
15309
}
15310
]
15311
},
15312
{
15313
"begin": "(?<![0-9A-Fa-f])((?:u|u8|U|L)?)'",
15314
"end": "'",
15315
"beginCaptures": {
15316
"0": {
15317
"name": "punctuation.definition.string.begin.cuda-cpp"
15318
},
15319
"1": {
15320
"name": "meta.encoding.cuda-cpp"
15321
}
15322
},
15323
"endCaptures": {
15324
"0": {
15325
"name": "punctuation.definition.string.end.cuda-cpp"
15326
}
15327
},
15328
"name": "string.quoted.single.cuda-cpp",
15329
"patterns": [
15330
{
15331
"match": "(?:(\\\\x0*[0-9a-fA-F]{2}(?![0-9a-fA-F]))|((?:\\\\x[0-9a-fA-F]*|\\\\x)))",
15332
"captures": {
15333
"1": {
15334
"name": "constant.character.escape.cuda-cpp"
15335
},
15336
"2": {
15337
"name": "invalid.illegal.unknown-escape.cuda-cpp"
15338
}
15339
}
15340
},
15341
{
15342
"include": "#string_escapes_context_c"
15343
},
15344
{
15345
"include": "#line_continuation_character"
15346
}
15347
]
15348
},
15349
{
15350
"begin": "((?:[uUL]8?)?R)\\\"(?:(?:_r|re)|regex)\\(",
15351
"end": "\\)(?:(?:_r|re)|regex)\\\"",
15352
"beginCaptures": {
15353
"0": {
15354
"name": "punctuation.definition.string.begin.cuda-cpp"
15355
},
15356
"1": {
15357
"name": "meta.encoding.cuda-cpp"
15358
}
15359
},
15360
"endCaptures": {
15361
"0": {
15362
"name": "punctuation.definition.string.end.cuda-cpp"
15363
}
15364
},
15365
"name": "string.quoted.double.raw.regex.cuda-cpp",
15366
"patterns": [
15367
{
15368
"include": "source.regexp.python"
15369
}
15370
]
15371
},
15372
{
15373
"begin": "((?:[uUL]8?)?R)\\\"(?:glsl|GLSL)\\(",
15374
"end": "\\)(?:glsl|GLSL)\\\"",
15375
"beginCaptures": {
15376
"0": {
15377
"name": "punctuation.definition.string.begin.cuda-cpp"
15378
},
15379
"1": {
15380
"name": "meta.encoding.cuda-cpp"
15381
}
15382
},
15383
"endCaptures": {
15384
"0": {
15385
"name": "punctuation.definition.string.end.cuda-cpp"
15386
}
15387
},
15388
"name": "meta.string.quoted.double.raw.glsl.cuda-cpp",
15389
"patterns": [
15390
{
15391
"include": "source.glsl"
15392
}
15393
]
15394
},
15395
{
15396
"begin": "((?:[uUL]8?)?R)\\\"(?:[pP]?(?:sql|SQL)|d[dm]l)\\(",
15397
"end": "\\)(?:[pP]?(?:sql|SQL)|d[dm]l)\\\"",
15398
"beginCaptures": {
15399
"0": {
15400
"name": "punctuation.definition.string.begin.cuda-cpp"
15401
},
15402
"1": {
15403
"name": "meta.encoding.cuda-cpp"
15404
}
15405
},
15406
"endCaptures": {
15407
"0": {
15408
"name": "punctuation.definition.string.end.cuda-cpp"
15409
}
15410
},
15411
"name": "meta.string.quoted.double.raw.sql.cuda-cpp",
15412
"patterns": [
15413
{
15414
"include": "source.sql"
15415
}
15416
]
15417
},
15418
{
15419
"begin": "((?:u|u8|U|L)?R)\"(?:([^ ()\\\\\\t]{0,16})|([^ ()\\\\\\t]*))\\(",
15420
"beginCaptures": {
15421
"0": {
15422
"name": "punctuation.definition.string.begin"
15423
},
15424
"1": {
15425
"name": "meta.encoding"
15426
},
15427
"3": {
15428
"name": "invalid.illegal.delimiter-too-long"
15429
}
15430
},
15431
"end": "\\)\\2(\\3)\"",
15432
"endCaptures": {
15433
"0": {
15434
"name": "punctuation.definition.string.end"
15435
},
15436
"1": {
15437
"name": "invalid.illegal.delimiter-too-long"
15438
}
15439
},
15440
"name": "string.quoted.double.raw"
15441
}
15442
]
15443
},
15444
"string_escapes_context_c": {
15445
"patterns": [
15446
{
15447
"match": "(?x)\\\\ (\n\\\\\t\t\t |\n[abefnprtv'\"?] |\n[0-3][0-7]{,2}\t |\n[4-7]\\d?\t\t|\nx[a-fA-F0-9]{,2} |\nu[a-fA-F0-9]{,4} |\nU[a-fA-F0-9]{,8} )",
15448
"name": "constant.character.escape"
15449
},
15450
{
15451
"match": "\\\\.",
15452
"name": "invalid.illegal.unknown-escape"
15453
},
15454
{
15455
"match": "(?x) (?!%')(?!%\")%\n(\\d+\\$)?\t\t\t\t\t\t # field (argument #)\n[#0\\- +']*\t\t\t\t\t\t # flags\n[,;:_]?\t\t\t\t\t\t\t # separator character (AltiVec)\n((-?\\d+)|\\*(-?\\d+\\$)?)?\t\t # minimum field width\n(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?\t# precision\n(hh|h|ll|l|j|t|z|q|L|vh|vl|v|hv|hl)? # length modifier\n[diouxXDOUeEfFgGaACcSspn%]\t\t # conversion type",
15456
"name": "constant.other.placeholder"
15457
}
15458
]
15459
},
15460
"struct_block": {
15461
"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
15462
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
15463
"beginCaptures": {
15464
"0": {
15465
"name": "meta.head.struct.cuda-cpp"
15466
},
15467
"1": {
15468
"name": "storage.type.$1.cuda-cpp"
15469
},
15470
"2": {
15471
"patterns": [
15472
{
15473
"include": "#inline_comment"
15474
}
15475
]
15476
},
15477
"3": {
15478
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15479
},
15480
"4": {
15481
"name": "comment.block.cuda-cpp"
15482
},
15483
"5": {
15484
"patterns": [
15485
{
15486
"match": "\\*\\/",
15487
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15488
},
15489
{
15490
"match": "\\*",
15491
"name": "comment.block.cuda-cpp"
15492
}
15493
]
15494
},
15495
"6": {
15496
"patterns": [
15497
{
15498
"include": "#attributes_context"
15499
},
15500
{
15501
"include": "#number_literal"
15502
}
15503
]
15504
},
15505
"7": {
15506
"patterns": [
15507
{
15508
"include": "#inline_comment"
15509
}
15510
]
15511
},
15512
"8": {
15513
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15514
},
15515
"9": {
15516
"name": "comment.block.cuda-cpp"
15517
},
15518
"10": {
15519
"patterns": [
15520
{
15521
"match": "\\*\\/",
15522
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15523
},
15524
{
15525
"match": "\\*",
15526
"name": "comment.block.cuda-cpp"
15527
}
15528
]
15529
},
15530
"11": {
15531
"patterns": [
15532
{
15533
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
15534
"captures": {
15535
"1": {
15536
"name": "storage.type.modifier.final.cuda-cpp"
15537
},
15538
"2": {
15539
"patterns": [
15540
{
15541
"include": "#inline_comment"
15542
}
15543
]
15544
},
15545
"3": {
15546
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15547
},
15548
"4": {
15549
"name": "comment.block.cuda-cpp"
15550
},
15551
"5": {
15552
"patterns": [
15553
{
15554
"match": "\\*\\/",
15555
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15556
},
15557
{
15558
"match": "\\*",
15559
"name": "comment.block.cuda-cpp"
15560
}
15561
]
15562
}
15563
}
15564
},
15565
{
15566
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
15567
"captures": {
15568
"1": {
15569
"name": "entity.name.type.struct.cuda-cpp"
15570
},
15571
"2": {
15572
"patterns": [
15573
{
15574
"include": "#inline_comment"
15575
}
15576
]
15577
},
15578
"3": {
15579
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15580
},
15581
"4": {
15582
"name": "comment.block.cuda-cpp"
15583
},
15584
"5": {
15585
"patterns": [
15586
{
15587
"match": "\\*\\/",
15588
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15589
},
15590
{
15591
"match": "\\*",
15592
"name": "comment.block.cuda-cpp"
15593
}
15594
]
15595
},
15596
"6": {
15597
"name": "storage.type.modifier.final.cuda-cpp"
15598
},
15599
"7": {
15600
"patterns": [
15601
{
15602
"include": "#inline_comment"
15603
}
15604
]
15605
},
15606
"8": {
15607
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15608
},
15609
"9": {
15610
"name": "comment.block.cuda-cpp"
15611
},
15612
"10": {
15613
"patterns": [
15614
{
15615
"match": "\\*\\/",
15616
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15617
},
15618
{
15619
"match": "\\*",
15620
"name": "comment.block.cuda-cpp"
15621
}
15622
]
15623
}
15624
}
15625
},
15626
{
15627
"match": "DLLEXPORT",
15628
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"
15629
},
15630
{
15631
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
15632
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"
15633
}
15634
]
15635
},
15636
"12": {
15637
"patterns": [
15638
{
15639
"include": "#inline_comment"
15640
}
15641
]
15642
},
15643
"13": {
15644
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15645
},
15646
"14": {
15647
"name": "comment.block.cuda-cpp"
15648
},
15649
"15": {
15650
"patterns": [
15651
{
15652
"match": "\\*\\/",
15653
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15654
},
15655
{
15656
"match": "\\*",
15657
"name": "comment.block.cuda-cpp"
15658
}
15659
]
15660
},
15661
"16": {
15662
"patterns": [
15663
{
15664
"include": "#inline_comment"
15665
}
15666
]
15667
},
15668
"17": {
15669
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15670
},
15671
"18": {
15672
"name": "comment.block.cuda-cpp"
15673
},
15674
"19": {
15675
"patterns": [
15676
{
15677
"match": "\\*\\/",
15678
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15679
},
15680
{
15681
"match": "\\*",
15682
"name": "comment.block.cuda-cpp"
15683
}
15684
]
15685
},
15686
"20": {
15687
"name": "punctuation.separator.colon.inheritance.cuda-cpp"
15688
}
15689
},
15690
"endCaptures": {
15691
"1": {
15692
"name": "punctuation.terminator.statement.cuda-cpp"
15693
},
15694
"2": {
15695
"name": "punctuation.terminator.statement.cuda-cpp"
15696
}
15697
},
15698
"name": "meta.block.struct.cuda-cpp",
15699
"patterns": [
15700
{
15701
"begin": "\\G ?",
15702
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
15703
"beginCaptures": {},
15704
"endCaptures": {
15705
"0": {
15706
"name": "punctuation.section.block.begin.bracket.curly.struct.cuda-cpp"
15707
}
15708
},
15709
"name": "meta.head.struct.cuda-cpp",
15710
"patterns": [
15711
{
15712
"include": "#ever_present_context"
15713
},
15714
{
15715
"include": "#inheritance_context"
15716
},
15717
{
15718
"include": "#template_call_range"
15719
}
15720
]
15721
},
15722
{
15723
"begin": "(?<=\\{|<%|\\?\\?<)",
15724
"end": "\\}|%>|\\?\\?>",
15725
"beginCaptures": {},
15726
"endCaptures": {
15727
"0": {
15728
"name": "punctuation.section.block.end.bracket.curly.struct.cuda-cpp"
15729
}
15730
},
15731
"name": "meta.body.struct.cuda-cpp",
15732
"patterns": [
15733
{
15734
"include": "#function_pointer"
15735
},
15736
{
15737
"include": "#static_assert"
15738
},
15739
{
15740
"include": "#constructor_inline"
15741
},
15742
{
15743
"include": "#destructor_inline"
15744
},
15745
{
15746
"include": "$self"
15747
}
15748
]
15749
},
15750
{
15751
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
15752
"end": "[\\s]*(?=;)",
15753
"beginCaptures": {},
15754
"endCaptures": {},
15755
"name": "meta.tail.struct.cuda-cpp",
15756
"patterns": [
15757
{
15758
"include": "$self"
15759
}
15760
]
15761
}
15762
]
15763
},
15764
"struct_declare": {
15765
"match": "((?<!\\w)struct(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
15766
"captures": {
15767
"1": {
15768
"name": "storage.type.struct.declare.cuda-cpp"
15769
},
15770
"2": {
15771
"patterns": [
15772
{
15773
"include": "#inline_comment"
15774
}
15775
]
15776
},
15777
"3": {
15778
"patterns": [
15779
{
15780
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15781
"captures": {
15782
"1": {
15783
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15784
},
15785
"2": {
15786
"name": "comment.block.cuda-cpp"
15787
},
15788
"3": {
15789
"patterns": [
15790
{
15791
"match": "\\*\\/",
15792
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15793
},
15794
{
15795
"match": "\\*",
15796
"name": "comment.block.cuda-cpp"
15797
}
15798
]
15799
}
15800
}
15801
}
15802
]
15803
},
15804
"4": {
15805
"name": "entity.name.type.struct.cuda-cpp"
15806
},
15807
"5": {
15808
"patterns": [
15809
{
15810
"match": "\\*",
15811
"name": "storage.modifier.pointer.cuda-cpp"
15812
},
15813
{
15814
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
15815
"captures": {
15816
"1": {
15817
"patterns": [
15818
{
15819
"include": "#inline_comment"
15820
}
15821
]
15822
},
15823
"2": {
15824
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15825
},
15826
"3": {
15827
"name": "comment.block.cuda-cpp"
15828
},
15829
"4": {
15830
"patterns": [
15831
{
15832
"match": "\\*\\/",
15833
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15834
},
15835
{
15836
"match": "\\*",
15837
"name": "comment.block.cuda-cpp"
15838
}
15839
]
15840
}
15841
},
15842
"name": "invalid.illegal.reference-type.cuda-cpp"
15843
},
15844
{
15845
"match": "\\&",
15846
"name": "storage.modifier.reference.cuda-cpp"
15847
}
15848
]
15849
},
15850
"6": {
15851
"patterns": [
15852
{
15853
"include": "#inline_comment"
15854
}
15855
]
15856
},
15857
"7": {
15858
"patterns": [
15859
{
15860
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15861
"captures": {
15862
"1": {
15863
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15864
},
15865
"2": {
15866
"name": "comment.block.cuda-cpp"
15867
},
15868
"3": {
15869
"patterns": [
15870
{
15871
"match": "\\*\\/",
15872
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15873
},
15874
{
15875
"match": "\\*",
15876
"name": "comment.block.cuda-cpp"
15877
}
15878
]
15879
}
15880
}
15881
}
15882
]
15883
},
15884
"8": {
15885
"patterns": [
15886
{
15887
"include": "#inline_comment"
15888
}
15889
]
15890
},
15891
"9": {
15892
"patterns": [
15893
{
15894
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15895
"captures": {
15896
"1": {
15897
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15898
},
15899
"2": {
15900
"name": "comment.block.cuda-cpp"
15901
},
15902
"3": {
15903
"patterns": [
15904
{
15905
"match": "\\*\\/",
15906
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15907
},
15908
{
15909
"match": "\\*",
15910
"name": "comment.block.cuda-cpp"
15911
}
15912
]
15913
}
15914
}
15915
}
15916
]
15917
},
15918
"10": {
15919
"patterns": [
15920
{
15921
"include": "#inline_comment"
15922
}
15923
]
15924
},
15925
"11": {
15926
"patterns": [
15927
{
15928
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15929
"captures": {
15930
"1": {
15931
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15932
},
15933
"2": {
15934
"name": "comment.block.cuda-cpp"
15935
},
15936
"3": {
15937
"patterns": [
15938
{
15939
"match": "\\*\\/",
15940
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15941
},
15942
{
15943
"match": "\\*",
15944
"name": "comment.block.cuda-cpp"
15945
}
15946
]
15947
}
15948
}
15949
}
15950
]
15951
},
15952
"12": {
15953
"name": "variable.other.object.declare.cuda-cpp"
15954
},
15955
"13": {
15956
"patterns": [
15957
{
15958
"include": "#inline_comment"
15959
}
15960
]
15961
},
15962
"14": {
15963
"patterns": [
15964
{
15965
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
15966
"captures": {
15967
"1": {
15968
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
15969
},
15970
"2": {
15971
"name": "comment.block.cuda-cpp"
15972
},
15973
"3": {
15974
"patterns": [
15975
{
15976
"match": "\\*\\/",
15977
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
15978
},
15979
{
15980
"match": "\\*",
15981
"name": "comment.block.cuda-cpp"
15982
}
15983
]
15984
}
15985
}
15986
}
15987
]
15988
}
15989
}
15990
},
15991
"switch_conditional_parentheses": {
15992
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
15993
"end": "\\)",
15994
"beginCaptures": {
15995
"1": {
15996
"patterns": [
15997
{
15998
"include": "#inline_comment"
15999
}
16000
]
16001
},
16002
"2": {
16003
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16004
},
16005
"3": {
16006
"name": "comment.block.cuda-cpp"
16007
},
16008
"4": {
16009
"patterns": [
16010
{
16011
"match": "\\*\\/",
16012
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16013
},
16014
{
16015
"match": "\\*",
16016
"name": "comment.block.cuda-cpp"
16017
}
16018
]
16019
},
16020
"5": {
16021
"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cuda-cpp"
16022
}
16023
},
16024
"endCaptures": {
16025
"0": {
16026
"name": "punctuation.section.parens.end.bracket.round.conditional.switch.cuda-cpp"
16027
}
16028
},
16029
"name": "meta.conditional.switch.cuda-cpp",
16030
"patterns": [
16031
{
16032
"include": "#evaluation_context"
16033
},
16034
{
16035
"include": "#c_conditional_context"
16036
}
16037
]
16038
},
16039
"switch_statement": {
16040
"begin": "((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)switch(?!\\w))",
16041
"end": "(?:(?<=\\}|%>|\\?\\?>)|(?=[;>\\[\\]=]))",
16042
"beginCaptures": {
16043
"0": {
16044
"name": "meta.head.switch.cuda-cpp"
16045
},
16046
"1": {
16047
"patterns": [
16048
{
16049
"include": "#inline_comment"
16050
}
16051
]
16052
},
16053
"2": {
16054
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16055
},
16056
"3": {
16057
"name": "comment.block.cuda-cpp"
16058
},
16059
"4": {
16060
"patterns": [
16061
{
16062
"match": "\\*\\/",
16063
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16064
},
16065
{
16066
"match": "\\*",
16067
"name": "comment.block.cuda-cpp"
16068
}
16069
]
16070
},
16071
"5": {
16072
"name": "keyword.control.switch.cuda-cpp"
16073
}
16074
},
16075
"endCaptures": {},
16076
"name": "meta.block.switch.cuda-cpp",
16077
"patterns": [
16078
{
16079
"begin": "\\G ?",
16080
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
16081
"beginCaptures": {},
16082
"endCaptures": {
16083
"0": {
16084
"name": "punctuation.section.block.begin.bracket.curly.switch.cuda-cpp"
16085
}
16086
},
16087
"name": "meta.head.switch.cuda-cpp",
16088
"patterns": [
16089
{
16090
"include": "#switch_conditional_parentheses"
16091
},
16092
{
16093
"include": "$self"
16094
}
16095
]
16096
},
16097
{
16098
"begin": "(?<=\\{|<%|\\?\\?<)",
16099
"end": "\\}|%>|\\?\\?>",
16100
"beginCaptures": {},
16101
"endCaptures": {
16102
"0": {
16103
"name": "punctuation.section.block.end.bracket.curly.switch.cuda-cpp"
16104
}
16105
},
16106
"name": "meta.body.switch.cuda-cpp",
16107
"patterns": [
16108
{
16109
"include": "#default_statement"
16110
},
16111
{
16112
"include": "#case_statement"
16113
},
16114
{
16115
"include": "$self"
16116
},
16117
{
16118
"include": "#block_innards"
16119
}
16120
]
16121
},
16122
{
16123
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
16124
"end": "[\\s]*(?=;)",
16125
"beginCaptures": {},
16126
"endCaptures": {},
16127
"name": "meta.tail.switch.cuda-cpp",
16128
"patterns": [
16129
{
16130
"include": "$self"
16131
}
16132
]
16133
}
16134
]
16135
},
16136
"template_argument_defaulted": {
16137
"match": "(?<=<|,)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)*)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?([=])",
16138
"captures": {
16139
"1": {
16140
"name": "storage.type.template.cuda-cpp"
16141
},
16142
"2": {
16143
"name": "entity.name.type.template.cuda-cpp"
16144
},
16145
"3": {
16146
"name": "keyword.operator.assignment.cuda-cpp"
16147
}
16148
}
16149
},
16150
"template_call_context": {
16151
"patterns": [
16152
{
16153
"include": "#ever_present_context"
16154
},
16155
{
16156
"include": "#template_call_range"
16157
},
16158
{
16159
"include": "#storage_types"
16160
},
16161
{
16162
"include": "#language_constants"
16163
},
16164
{
16165
"include": "#scope_resolution_template_call_inner_generated"
16166
},
16167
{
16168
"include": "#operators"
16169
},
16170
{
16171
"include": "#number_literal"
16172
},
16173
{
16174
"include": "#string_context"
16175
},
16176
{
16177
"include": "#comma_in_template_argument"
16178
},
16179
{
16180
"include": "#qualified_type"
16181
}
16182
]
16183
},
16184
"template_call_innards": {
16185
"match": "((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<1>?)+>)(?:\\s)*+",
16186
"captures": {
16187
"0": {
16188
"patterns": [
16189
{
16190
"include": "#template_call_range"
16191
}
16192
]
16193
}
16194
},
16195
"name": "meta.template.call.cuda-cpp"
16196
},
16197
"template_call_range": {
16198
"begin": "<",
16199
"end": ">",
16200
"beginCaptures": {
16201
"0": {
16202
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
16203
}
16204
},
16205
"endCaptures": {
16206
"0": {
16207
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
16208
}
16209
},
16210
"name": "meta.template.call.cuda-cpp",
16211
"patterns": [
16212
{
16213
"include": "#template_call_context"
16214
}
16215
]
16216
},
16217
"template_definition": {
16218
"begin": "(?<!\\w)(template)(?:(?:\\s)+)?(<)",
16219
"end": ">",
16220
"beginCaptures": {
16221
"1": {
16222
"name": "storage.type.template.cuda-cpp"
16223
},
16224
"2": {
16225
"name": "punctuation.section.angle-brackets.start.template.definition.cuda-cpp"
16226
}
16227
},
16228
"endCaptures": {
16229
"0": {
16230
"name": "punctuation.section.angle-brackets.end.template.definition.cuda-cpp"
16231
}
16232
},
16233
"name": "meta.template.definition.cuda-cpp",
16234
"patterns": [
16235
{
16236
"begin": "(?<=\\w)(?:(?:\\s)+)?<",
16237
"end": ">",
16238
"beginCaptures": {
16239
"0": {
16240
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
16241
}
16242
},
16243
"endCaptures": {
16244
"0": {
16245
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
16246
}
16247
},
16248
"patterns": [
16249
{
16250
"include": "#template_call_context"
16251
}
16252
]
16253
},
16254
{
16255
"include": "#template_definition_context"
16256
}
16257
]
16258
},
16259
"template_definition_argument": {
16260
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)|((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?:\\s)+)+)((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))|((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)(?:(?:\\s)+)?(\\.\\.\\.)(?:(?:\\s)+)?((?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*))(?:(?:\\s)+)?(?:(,)|(?=>|$))",
16261
"captures": {
16262
"1": {
16263
"patterns": [
16264
{
16265
"include": "#inline_comment"
16266
}
16267
]
16268
},
16269
"2": {
16270
"patterns": [
16271
{
16272
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16273
"captures": {
16274
"1": {
16275
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16276
},
16277
"2": {
16278
"name": "comment.block.cuda-cpp"
16279
},
16280
"3": {
16281
"patterns": [
16282
{
16283
"match": "\\*\\/",
16284
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16285
},
16286
{
16287
"match": "\\*",
16288
"name": "comment.block.cuda-cpp"
16289
}
16290
]
16291
}
16292
}
16293
}
16294
]
16295
},
16296
"3": {
16297
"name": "storage.type.template.argument.$3.cuda-cpp"
16298
},
16299
"4": {
16300
"patterns": [
16301
{
16302
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
16303
"name": "storage.type.template.argument.$0.cuda-cpp"
16304
}
16305
]
16306
},
16307
"5": {
16308
"name": "entity.name.type.template.cuda-cpp"
16309
},
16310
"6": {
16311
"name": "storage.type.template.cuda-cpp"
16312
},
16313
"7": {
16314
"name": "punctuation.vararg-ellipses.template.definition.cuda-cpp"
16315
},
16316
"8": {
16317
"name": "entity.name.type.template.cuda-cpp"
16318
},
16319
"9": {
16320
"name": "punctuation.separator.delimiter.comma.template.argument.cuda-cpp"
16321
}
16322
}
16323
},
16324
"template_definition_context": {
16325
"patterns": [
16326
{
16327
"include": "#scope_resolution_template_definition_inner_generated"
16328
},
16329
{
16330
"include": "#template_definition_argument"
16331
},
16332
{
16333
"include": "#template_argument_defaulted"
16334
},
16335
{
16336
"include": "#template_call_innards"
16337
},
16338
{
16339
"include": "#evaluation_context"
16340
}
16341
]
16342
},
16343
"template_isolated_definition": {
16344
"match": "(?<!\\w)(template)(?:(?:\\s)+)?(<)(.*)(>(?:(?:\\s)+)?$)",
16345
"captures": {
16346
"1": {
16347
"name": "storage.type.template.cuda-cpp"
16348
},
16349
"2": {
16350
"name": "punctuation.section.angle-brackets.start.template.definition.cuda-cpp"
16351
},
16352
"3": {
16353
"name": "meta.template.definition.cuda-cpp",
16354
"patterns": [
16355
{
16356
"include": "#template_definition_context"
16357
}
16358
]
16359
},
16360
"4": {
16361
"name": "punctuation.section.angle-brackets.end.template.definition.cuda-cpp"
16362
}
16363
}
16364
},
16365
"ternary_operator": {
16366
"begin": "\\?",
16367
"end": ":",
16368
"beginCaptures": {
16369
"0": {
16370
"name": "keyword.operator.ternary.cuda-cpp"
16371
}
16372
},
16373
"endCaptures": {
16374
"0": {
16375
"name": "keyword.operator.ternary.cuda-cpp"
16376
}
16377
},
16378
"patterns": [
16379
{
16380
"include": "#ever_present_context"
16381
},
16382
{
16383
"include": "#string_context"
16384
},
16385
{
16386
"include": "#number_literal"
16387
},
16388
{
16389
"include": "#method_access"
16390
},
16391
{
16392
"include": "#member_access"
16393
},
16394
{
16395
"include": "#predefined_macros"
16396
},
16397
{
16398
"include": "#operators"
16399
},
16400
{
16401
"include": "#memory_operators"
16402
},
16403
{
16404
"include": "#wordlike_operators"
16405
},
16406
{
16407
"include": "#type_casting_operators"
16408
},
16409
{
16410
"include": "#control_flow_keywords"
16411
},
16412
{
16413
"include": "#exception_keywords"
16414
},
16415
{
16416
"include": "#the_this_keyword"
16417
},
16418
{
16419
"include": "#language_constants"
16420
},
16421
{
16422
"include": "#builtin_storage_type_initilizer"
16423
},
16424
{
16425
"include": "#qualifiers_and_specifiers_post_parameters"
16426
},
16427
{
16428
"include": "#functional_specifiers_pre_parameters"
16429
},
16430
{
16431
"include": "#storage_types"
16432
},
16433
{
16434
"include": "#lambdas"
16435
},
16436
{
16437
"include": "#attributes_context"
16438
},
16439
{
16440
"include": "#parentheses"
16441
},
16442
{
16443
"include": "#function_call"
16444
},
16445
{
16446
"include": "#scope_resolution_inner_generated"
16447
},
16448
{
16449
"include": "#square_brackets"
16450
},
16451
{
16452
"include": "#semicolon"
16453
},
16454
{
16455
"include": "#comma"
16456
}
16457
],
16458
"applyEndPatternLast": 1
16459
},
16460
"the_this_keyword": {
16461
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)this(?!\\w))",
16462
"captures": {
16463
"1": {
16464
"patterns": [
16465
{
16466
"include": "#inline_comment"
16467
}
16468
]
16469
},
16470
"2": {
16471
"patterns": [
16472
{
16473
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16474
"captures": {
16475
"1": {
16476
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16477
},
16478
"2": {
16479
"name": "comment.block.cuda-cpp"
16480
},
16481
"3": {
16482
"patterns": [
16483
{
16484
"match": "\\*\\/",
16485
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16486
},
16487
{
16488
"match": "\\*",
16489
"name": "comment.block.cuda-cpp"
16490
}
16491
]
16492
}
16493
}
16494
}
16495
]
16496
},
16497
"3": {
16498
"name": "variable.language.this.cuda-cpp"
16499
}
16500
}
16501
},
16502
"type_alias": {
16503
"match": "(using)(?:(?:\\s)+)?(?!namespace)(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))(?:(?:\\s)+)?(\\=)(?:(?:\\s)+)?((?:typename)?)(?:(?:\\s)+)?((?:(?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))(?<!\\w)(?:(?:__constant__)|(?:__restrict__)|(?:__managed__)|(?:__shared__)|(?:volatile)|(?:register)|(?:restrict)|(?:static)|(?:extern)|(?:const))(?!\\w)(?:\\s)+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<29>?)+>)?(?![\\w<:.]))|(.*(?<!;)))(?:(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)?(?:(?:\\s)+)?(?:(;)|\\n)",
16504
"captures": {
16505
"1": {
16506
"name": "keyword.other.using.directive.cuda-cpp"
16507
},
16508
"2": {
16509
"name": "meta.qualified_type.cuda-cpp",
16510
"patterns": [
16511
{
16512
"match": "::",
16513
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
16514
},
16515
{
16516
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
16517
"name": "storage.type.$0.cuda-cpp"
16518
},
16519
{
16520
"include": "#attributes_context"
16521
},
16522
{
16523
"include": "#storage_types"
16524
},
16525
{
16526
"include": "#number_literal"
16527
},
16528
{
16529
"include": "#string_context"
16530
},
16531
{
16532
"include": "#comma"
16533
},
16534
{
16535
"include": "#scope_resolution_inner_generated"
16536
},
16537
{
16538
"begin": "<",
16539
"end": ">",
16540
"beginCaptures": {
16541
"0": {
16542
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
16543
}
16544
},
16545
"endCaptures": {
16546
"0": {
16547
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
16548
}
16549
},
16550
"name": "meta.template.call.cuda-cpp",
16551
"patterns": [
16552
{
16553
"include": "#template_call_context"
16554
}
16555
]
16556
},
16557
{
16558
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
16559
"name": "entity.name.type.cuda-cpp"
16560
}
16561
]
16562
},
16563
"3": {
16564
"patterns": [
16565
{
16566
"include": "#attributes_context"
16567
},
16568
{
16569
"include": "#number_literal"
16570
}
16571
]
16572
},
16573
"4": {
16574
"patterns": [
16575
{
16576
"include": "#inline_comment"
16577
}
16578
]
16579
},
16580
"5": {
16581
"patterns": [
16582
{
16583
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16584
"captures": {
16585
"1": {
16586
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16587
},
16588
"2": {
16589
"name": "comment.block.cuda-cpp"
16590
},
16591
"3": {
16592
"patterns": [
16593
{
16594
"match": "\\*\\/",
16595
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16596
},
16597
{
16598
"match": "\\*",
16599
"name": "comment.block.cuda-cpp"
16600
}
16601
]
16602
}
16603
}
16604
}
16605
]
16606
},
16607
"6": {
16608
"patterns": [
16609
{
16610
"include": "#inline_comment"
16611
}
16612
]
16613
},
16614
"7": {
16615
"patterns": [
16616
{
16617
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16618
"captures": {
16619
"1": {
16620
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16621
},
16622
"2": {
16623
"name": "comment.block.cuda-cpp"
16624
},
16625
"3": {
16626
"patterns": [
16627
{
16628
"match": "\\*\\/",
16629
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16630
},
16631
{
16632
"match": "\\*",
16633
"name": "comment.block.cuda-cpp"
16634
}
16635
]
16636
}
16637
}
16638
}
16639
]
16640
},
16641
"8": {
16642
"patterns": [
16643
{
16644
"match": "::",
16645
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
16646
},
16647
{
16648
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
16649
"name": "entity.name.scope-resolution.type.cuda-cpp"
16650
},
16651
{
16652
"include": "#template_call_range"
16653
}
16654
]
16655
},
16656
"9": {
16657
"patterns": [
16658
{
16659
"include": "#template_call_range"
16660
}
16661
]
16662
},
16663
"11": {
16664
"patterns": [
16665
{
16666
"include": "#inline_comment"
16667
}
16668
]
16669
},
16670
"12": {
16671
"patterns": [
16672
{
16673
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16674
"captures": {
16675
"1": {
16676
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16677
},
16678
"2": {
16679
"name": "comment.block.cuda-cpp"
16680
},
16681
"3": {
16682
"patterns": [
16683
{
16684
"match": "\\*\\/",
16685
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16686
},
16687
{
16688
"match": "\\*",
16689
"name": "comment.block.cuda-cpp"
16690
}
16691
]
16692
}
16693
}
16694
}
16695
]
16696
},
16697
"14": {
16698
"name": "keyword.operator.assignment.cuda-cpp"
16699
},
16700
"15": {
16701
"name": "keyword.other.typename.cuda-cpp"
16702
},
16703
"16": {
16704
"patterns": [
16705
{
16706
"include": "#storage_specifiers"
16707
}
16708
]
16709
},
16710
"17": {
16711
"patterns": [
16712
{
16713
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16714
"captures": {
16715
"1": {
16716
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16717
},
16718
"2": {
16719
"name": "comment.block.cuda-cpp"
16720
},
16721
"3": {
16722
"patterns": [
16723
{
16724
"match": "\\*\\/",
16725
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16726
},
16727
{
16728
"match": "\\*",
16729
"name": "comment.block.cuda-cpp"
16730
}
16731
]
16732
}
16733
}
16734
}
16735
]
16736
},
16737
"18": {
16738
"name": "meta.qualified_type.cuda-cpp",
16739
"patterns": [
16740
{
16741
"match": "::",
16742
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
16743
},
16744
{
16745
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
16746
"name": "storage.type.$0.cuda-cpp"
16747
},
16748
{
16749
"include": "#attributes_context"
16750
},
16751
{
16752
"include": "#storage_types"
16753
},
16754
{
16755
"include": "#number_literal"
16756
},
16757
{
16758
"include": "#string_context"
16759
},
16760
{
16761
"include": "#comma"
16762
},
16763
{
16764
"include": "#scope_resolution_inner_generated"
16765
},
16766
{
16767
"begin": "<",
16768
"end": ">",
16769
"beginCaptures": {
16770
"0": {
16771
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
16772
}
16773
},
16774
"endCaptures": {
16775
"0": {
16776
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
16777
}
16778
},
16779
"name": "meta.template.call.cuda-cpp",
16780
"patterns": [
16781
{
16782
"include": "#template_call_context"
16783
}
16784
]
16785
},
16786
{
16787
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
16788
"name": "entity.name.type.cuda-cpp"
16789
}
16790
]
16791
},
16792
"19": {
16793
"patterns": [
16794
{
16795
"include": "#attributes_context"
16796
},
16797
{
16798
"include": "#number_literal"
16799
}
16800
]
16801
},
16802
"20": {
16803
"patterns": [
16804
{
16805
"include": "#inline_comment"
16806
}
16807
]
16808
},
16809
"21": {
16810
"patterns": [
16811
{
16812
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16813
"captures": {
16814
"1": {
16815
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16816
},
16817
"2": {
16818
"name": "comment.block.cuda-cpp"
16819
},
16820
"3": {
16821
"patterns": [
16822
{
16823
"match": "\\*\\/",
16824
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16825
},
16826
{
16827
"match": "\\*",
16828
"name": "comment.block.cuda-cpp"
16829
}
16830
]
16831
}
16832
}
16833
}
16834
]
16835
},
16836
"22": {
16837
"patterns": [
16838
{
16839
"include": "#inline_comment"
16840
}
16841
]
16842
},
16843
"23": {
16844
"patterns": [
16845
{
16846
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16847
"captures": {
16848
"1": {
16849
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16850
},
16851
"2": {
16852
"name": "comment.block.cuda-cpp"
16853
},
16854
"3": {
16855
"patterns": [
16856
{
16857
"match": "\\*\\/",
16858
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16859
},
16860
{
16861
"match": "\\*",
16862
"name": "comment.block.cuda-cpp"
16863
}
16864
]
16865
}
16866
}
16867
}
16868
]
16869
},
16870
"24": {
16871
"patterns": [
16872
{
16873
"match": "::",
16874
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
16875
},
16876
{
16877
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
16878
"name": "entity.name.scope-resolution.type.cuda-cpp"
16879
},
16880
{
16881
"include": "#template_call_range"
16882
}
16883
]
16884
},
16885
"25": {
16886
"patterns": [
16887
{
16888
"include": "#template_call_range"
16889
}
16890
]
16891
},
16892
"27": {
16893
"patterns": [
16894
{
16895
"include": "#inline_comment"
16896
}
16897
]
16898
},
16899
"28": {
16900
"patterns": [
16901
{
16902
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16903
"captures": {
16904
"1": {
16905
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16906
},
16907
"2": {
16908
"name": "comment.block.cuda-cpp"
16909
},
16910
"3": {
16911
"patterns": [
16912
{
16913
"match": "\\*\\/",
16914
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16915
},
16916
{
16917
"match": "\\*",
16918
"name": "comment.block.cuda-cpp"
16919
}
16920
]
16921
}
16922
}
16923
}
16924
]
16925
},
16926
"30": {
16927
"name": "meta.declaration.type.alias.value.unknown.cuda-cpp",
16928
"patterns": [
16929
{
16930
"include": "#evaluation_context"
16931
}
16932
]
16933
},
16934
"31": {
16935
"patterns": [
16936
{
16937
"match": "\\*",
16938
"name": "storage.modifier.pointer.cuda-cpp"
16939
},
16940
{
16941
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
16942
"captures": {
16943
"1": {
16944
"patterns": [
16945
{
16946
"include": "#inline_comment"
16947
}
16948
]
16949
},
16950
"2": {
16951
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16952
},
16953
"3": {
16954
"name": "comment.block.cuda-cpp"
16955
},
16956
"4": {
16957
"patterns": [
16958
{
16959
"match": "\\*\\/",
16960
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
16961
},
16962
{
16963
"match": "\\*",
16964
"name": "comment.block.cuda-cpp"
16965
}
16966
]
16967
}
16968
},
16969
"name": "invalid.illegal.reference-type.cuda-cpp"
16970
},
16971
{
16972
"match": "\\&",
16973
"name": "storage.modifier.reference.cuda-cpp"
16974
}
16975
]
16976
},
16977
"32": {
16978
"patterns": [
16979
{
16980
"include": "#inline_comment"
16981
}
16982
]
16983
},
16984
"33": {
16985
"patterns": [
16986
{
16987
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
16988
"captures": {
16989
"1": {
16990
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
16991
},
16992
"2": {
16993
"name": "comment.block.cuda-cpp"
16994
},
16995
"3": {
16996
"patterns": [
16997
{
16998
"match": "\\*\\/",
16999
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17000
},
17001
{
17002
"match": "\\*",
17003
"name": "comment.block.cuda-cpp"
17004
}
17005
]
17006
}
17007
}
17008
}
17009
]
17010
},
17011
"34": {
17012
"patterns": [
17013
{
17014
"include": "#inline_comment"
17015
}
17016
]
17017
},
17018
"35": {
17019
"patterns": [
17020
{
17021
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17022
"captures": {
17023
"1": {
17024
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17025
},
17026
"2": {
17027
"name": "comment.block.cuda-cpp"
17028
},
17029
"3": {
17030
"patterns": [
17031
{
17032
"match": "\\*\\/",
17033
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17034
},
17035
{
17036
"match": "\\*",
17037
"name": "comment.block.cuda-cpp"
17038
}
17039
]
17040
}
17041
}
17042
}
17043
]
17044
},
17045
"36": {
17046
"patterns": [
17047
{
17048
"include": "#inline_comment"
17049
}
17050
]
17051
},
17052
"37": {
17053
"patterns": [
17054
{
17055
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17056
"captures": {
17057
"1": {
17058
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17059
},
17060
"2": {
17061
"name": "comment.block.cuda-cpp"
17062
},
17063
"3": {
17064
"patterns": [
17065
{
17066
"match": "\\*\\/",
17067
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17068
},
17069
{
17070
"match": "\\*",
17071
"name": "comment.block.cuda-cpp"
17072
}
17073
]
17074
}
17075
}
17076
}
17077
]
17078
},
17079
"38": {
17080
"name": "punctuation.definition.begin.bracket.square.cuda-cpp"
17081
},
17082
"39": {
17083
"patterns": [
17084
{
17085
"include": "#evaluation_context"
17086
}
17087
]
17088
},
17089
"40": {
17090
"name": "punctuation.definition.end.bracket.square.cuda-cpp"
17091
},
17092
"41": {
17093
"name": "punctuation.terminator.statement.cuda-cpp"
17094
}
17095
},
17096
"name": "meta.declaration.type.alias.cuda-cpp"
17097
},
17098
"type_casting_operators": {
17099
"match": "((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:(?:reinterpret_cast)|(?:dynamic_cast)|(?:static_cast)|(?:const_cast))(?!\\w))",
17100
"captures": {
17101
"1": {
17102
"patterns": [
17103
{
17104
"include": "#inline_comment"
17105
}
17106
]
17107
},
17108
"2": {
17109
"patterns": [
17110
{
17111
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
17112
"captures": {
17113
"1": {
17114
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17115
},
17116
"2": {
17117
"name": "comment.block.cuda-cpp"
17118
},
17119
"3": {
17120
"patterns": [
17121
{
17122
"match": "\\*\\/",
17123
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17124
},
17125
{
17126
"match": "\\*",
17127
"name": "comment.block.cuda-cpp"
17128
}
17129
]
17130
}
17131
}
17132
}
17133
]
17134
},
17135
"3": {
17136
"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.cast.$3.cuda-cpp"
17137
}
17138
}
17139
},
17140
"typedef_class": {
17141
"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)class(?!\\w))",
17142
"end": "(?<=;)",
17143
"beginCaptures": {
17144
"1": {
17145
"name": "keyword.other.typedef.cuda-cpp"
17146
}
17147
},
17148
"endCaptures": {},
17149
"patterns": [
17150
{
17151
"begin": "((?<!\\w)class(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
17152
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
17153
"beginCaptures": {
17154
"0": {
17155
"name": "meta.head.class.cuda-cpp"
17156
},
17157
"1": {
17158
"name": "storage.type.$1.cuda-cpp"
17159
},
17160
"2": {
17161
"patterns": [
17162
{
17163
"include": "#inline_comment"
17164
}
17165
]
17166
},
17167
"3": {
17168
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17169
},
17170
"4": {
17171
"name": "comment.block.cuda-cpp"
17172
},
17173
"5": {
17174
"patterns": [
17175
{
17176
"match": "\\*\\/",
17177
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17178
},
17179
{
17180
"match": "\\*",
17181
"name": "comment.block.cuda-cpp"
17182
}
17183
]
17184
},
17185
"6": {
17186
"patterns": [
17187
{
17188
"include": "#attributes_context"
17189
},
17190
{
17191
"include": "#number_literal"
17192
}
17193
]
17194
},
17195
"7": {
17196
"patterns": [
17197
{
17198
"include": "#inline_comment"
17199
}
17200
]
17201
},
17202
"8": {
17203
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17204
},
17205
"9": {
17206
"name": "comment.block.cuda-cpp"
17207
},
17208
"10": {
17209
"patterns": [
17210
{
17211
"match": "\\*\\/",
17212
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17213
},
17214
{
17215
"match": "\\*",
17216
"name": "comment.block.cuda-cpp"
17217
}
17218
]
17219
},
17220
"11": {
17221
"patterns": [
17222
{
17223
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
17224
"captures": {
17225
"1": {
17226
"name": "storage.type.modifier.final.cuda-cpp"
17227
},
17228
"2": {
17229
"patterns": [
17230
{
17231
"include": "#inline_comment"
17232
}
17233
]
17234
},
17235
"3": {
17236
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17237
},
17238
"4": {
17239
"name": "comment.block.cuda-cpp"
17240
},
17241
"5": {
17242
"patterns": [
17243
{
17244
"match": "\\*\\/",
17245
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17246
},
17247
{
17248
"match": "\\*",
17249
"name": "comment.block.cuda-cpp"
17250
}
17251
]
17252
}
17253
}
17254
},
17255
{
17256
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
17257
"captures": {
17258
"1": {
17259
"name": "entity.name.type.class.cuda-cpp"
17260
},
17261
"2": {
17262
"patterns": [
17263
{
17264
"include": "#inline_comment"
17265
}
17266
]
17267
},
17268
"3": {
17269
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17270
},
17271
"4": {
17272
"name": "comment.block.cuda-cpp"
17273
},
17274
"5": {
17275
"patterns": [
17276
{
17277
"match": "\\*\\/",
17278
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17279
},
17280
{
17281
"match": "\\*",
17282
"name": "comment.block.cuda-cpp"
17283
}
17284
]
17285
},
17286
"6": {
17287
"name": "storage.type.modifier.final.cuda-cpp"
17288
},
17289
"7": {
17290
"patterns": [
17291
{
17292
"include": "#inline_comment"
17293
}
17294
]
17295
},
17296
"8": {
17297
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17298
},
17299
"9": {
17300
"name": "comment.block.cuda-cpp"
17301
},
17302
"10": {
17303
"patterns": [
17304
{
17305
"match": "\\*\\/",
17306
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17307
},
17308
{
17309
"match": "\\*",
17310
"name": "comment.block.cuda-cpp"
17311
}
17312
]
17313
}
17314
}
17315
},
17316
{
17317
"match": "DLLEXPORT",
17318
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"
17319
},
17320
{
17321
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
17322
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"
17323
}
17324
]
17325
},
17326
"12": {
17327
"patterns": [
17328
{
17329
"include": "#inline_comment"
17330
}
17331
]
17332
},
17333
"13": {
17334
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17335
},
17336
"14": {
17337
"name": "comment.block.cuda-cpp"
17338
},
17339
"15": {
17340
"patterns": [
17341
{
17342
"match": "\\*\\/",
17343
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17344
},
17345
{
17346
"match": "\\*",
17347
"name": "comment.block.cuda-cpp"
17348
}
17349
]
17350
},
17351
"16": {
17352
"patterns": [
17353
{
17354
"include": "#inline_comment"
17355
}
17356
]
17357
},
17358
"17": {
17359
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17360
},
17361
"18": {
17362
"name": "comment.block.cuda-cpp"
17363
},
17364
"19": {
17365
"patterns": [
17366
{
17367
"match": "\\*\\/",
17368
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17369
},
17370
{
17371
"match": "\\*",
17372
"name": "comment.block.cuda-cpp"
17373
}
17374
]
17375
},
17376
"20": {
17377
"name": "punctuation.separator.colon.inheritance.cuda-cpp"
17378
}
17379
},
17380
"endCaptures": {
17381
"1": {
17382
"name": "punctuation.terminator.statement.cuda-cpp"
17383
},
17384
"2": {
17385
"name": "punctuation.terminator.statement.cuda-cpp"
17386
}
17387
},
17388
"name": "meta.block.class.cuda-cpp",
17389
"patterns": [
17390
{
17391
"begin": "\\G ?",
17392
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
17393
"beginCaptures": {},
17394
"endCaptures": {
17395
"0": {
17396
"name": "punctuation.section.block.begin.bracket.curly.class.cuda-cpp"
17397
}
17398
},
17399
"name": "meta.head.class.cuda-cpp",
17400
"patterns": [
17401
{
17402
"include": "#ever_present_context"
17403
},
17404
{
17405
"include": "#inheritance_context"
17406
},
17407
{
17408
"include": "#template_call_range"
17409
}
17410
]
17411
},
17412
{
17413
"begin": "(?<=\\{|<%|\\?\\?<)",
17414
"end": "\\}|%>|\\?\\?>",
17415
"beginCaptures": {},
17416
"endCaptures": {
17417
"0": {
17418
"name": "punctuation.section.block.end.bracket.curly.class.cuda-cpp"
17419
}
17420
},
17421
"name": "meta.body.class.cuda-cpp",
17422
"patterns": [
17423
{
17424
"include": "#function_pointer"
17425
},
17426
{
17427
"include": "#static_assert"
17428
},
17429
{
17430
"include": "#constructor_inline"
17431
},
17432
{
17433
"include": "#destructor_inline"
17434
},
17435
{
17436
"include": "$self"
17437
}
17438
]
17439
},
17440
{
17441
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
17442
"end": "[\\s]*(?=;)",
17443
"beginCaptures": {},
17444
"endCaptures": {},
17445
"name": "meta.tail.class.cuda-cpp",
17446
"patterns": [
17447
{
17448
"match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
17449
"captures": {
17450
"1": {
17451
"patterns": [
17452
{
17453
"match": "\\*",
17454
"name": "storage.modifier.pointer.cuda-cpp"
17455
},
17456
{
17457
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
17458
"captures": {
17459
"1": {
17460
"patterns": [
17461
{
17462
"include": "#inline_comment"
17463
}
17464
]
17465
},
17466
"2": {
17467
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17468
},
17469
"3": {
17470
"name": "comment.block.cuda-cpp"
17471
},
17472
"4": {
17473
"patterns": [
17474
{
17475
"match": "\\*\\/",
17476
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17477
},
17478
{
17479
"match": "\\*",
17480
"name": "comment.block.cuda-cpp"
17481
}
17482
]
17483
}
17484
},
17485
"name": "invalid.illegal.reference-type.cuda-cpp"
17486
},
17487
{
17488
"match": "\\&",
17489
"name": "storage.modifier.reference.cuda-cpp"
17490
}
17491
]
17492
},
17493
"2": {
17494
"patterns": [
17495
{
17496
"include": "#inline_comment"
17497
}
17498
]
17499
},
17500
"3": {
17501
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17502
},
17503
"4": {
17504
"name": "comment.block.cuda-cpp"
17505
},
17506
"5": {
17507
"patterns": [
17508
{
17509
"match": "\\*\\/",
17510
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17511
},
17512
{
17513
"match": "\\*",
17514
"name": "comment.block.cuda-cpp"
17515
}
17516
]
17517
},
17518
"6": {
17519
"patterns": [
17520
{
17521
"include": "#inline_comment"
17522
}
17523
]
17524
},
17525
"7": {
17526
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17527
},
17528
"8": {
17529
"name": "comment.block.cuda-cpp"
17530
},
17531
"9": {
17532
"patterns": [
17533
{
17534
"match": "\\*\\/",
17535
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17536
},
17537
{
17538
"match": "\\*",
17539
"name": "comment.block.cuda-cpp"
17540
}
17541
]
17542
},
17543
"10": {
17544
"patterns": [
17545
{
17546
"include": "#inline_comment"
17547
}
17548
]
17549
},
17550
"11": {
17551
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17552
},
17553
"12": {
17554
"name": "comment.block.cuda-cpp"
17555
},
17556
"13": {
17557
"patterns": [
17558
{
17559
"match": "\\*\\/",
17560
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17561
},
17562
{
17563
"match": "\\*",
17564
"name": "comment.block.cuda-cpp"
17565
}
17566
]
17567
},
17568
"14": {
17569
"name": "entity.name.type.alias.cuda-cpp"
17570
}
17571
}
17572
},
17573
{
17574
"match": ","
17575
}
17576
]
17577
}
17578
]
17579
}
17580
]
17581
},
17582
"typedef_function_pointer": {
17583
"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=.*\\(\\*\\s*(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\s*\\))",
17584
"end": "(?<=;)",
17585
"beginCaptures": {
17586
"1": {
17587
"name": "keyword.other.typedef.cuda-cpp"
17588
}
17589
},
17590
"endCaptures": {},
17591
"patterns": [
17592
{
17593
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)(?:\\s)*+)?::)*+)?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<18>?)+>)?(?![\\w<:.]))(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()(\\*)(?:(?:\\s)+)?((?:(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*)?)(?:(?:\\s)+)?(?:(\\[)(\\w*)(\\])(?:(?:\\s)+)?)*(\\))(?:(?:\\s)+)?(\\()",
17594
"end": "(\\))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=[{=,);>]|\\n)(?!\\()",
17595
"beginCaptures": {
17596
"1": {
17597
"name": "meta.qualified_type.cuda-cpp",
17598
"patterns": [
17599
{
17600
"match": "::",
17601
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
17602
},
17603
{
17604
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
17605
"name": "storage.type.$0.cuda-cpp"
17606
},
17607
{
17608
"include": "#attributes_context"
17609
},
17610
{
17611
"include": "#storage_types"
17612
},
17613
{
17614
"include": "#number_literal"
17615
},
17616
{
17617
"include": "#string_context"
17618
},
17619
{
17620
"include": "#comma"
17621
},
17622
{
17623
"include": "#scope_resolution_inner_generated"
17624
},
17625
{
17626
"begin": "<",
17627
"end": ">",
17628
"beginCaptures": {
17629
"0": {
17630
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
17631
}
17632
},
17633
"endCaptures": {
17634
"0": {
17635
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
17636
}
17637
},
17638
"name": "meta.template.call.cuda-cpp",
17639
"patterns": [
17640
{
17641
"include": "#template_call_context"
17642
}
17643
]
17644
},
17645
{
17646
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
17647
"name": "entity.name.type.cuda-cpp"
17648
}
17649
]
17650
},
17651
"2": {
17652
"patterns": [
17653
{
17654
"include": "#attributes_context"
17655
},
17656
{
17657
"include": "#number_literal"
17658
}
17659
]
17660
},
17661
"3": {
17662
"patterns": [
17663
{
17664
"include": "#inline_comment"
17665
}
17666
]
17667
},
17668
"4": {
17669
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17670
},
17671
"5": {
17672
"name": "comment.block.cuda-cpp"
17673
},
17674
"6": {
17675
"patterns": [
17676
{
17677
"match": "\\*\\/",
17678
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17679
},
17680
{
17681
"match": "\\*",
17682
"name": "comment.block.cuda-cpp"
17683
}
17684
]
17685
},
17686
"7": {
17687
"patterns": [
17688
{
17689
"include": "#inline_comment"
17690
}
17691
]
17692
},
17693
"8": {
17694
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17695
},
17696
"9": {
17697
"name": "comment.block.cuda-cpp"
17698
},
17699
"10": {
17700
"patterns": [
17701
{
17702
"match": "\\*\\/",
17703
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17704
},
17705
{
17706
"match": "\\*",
17707
"name": "comment.block.cuda-cpp"
17708
}
17709
]
17710
},
17711
"11": {
17712
"patterns": [
17713
{
17714
"match": "::",
17715
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
17716
},
17717
{
17718
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
17719
"name": "entity.name.scope-resolution.type.cuda-cpp"
17720
},
17721
{
17722
"include": "#template_call_range"
17723
}
17724
]
17725
},
17726
"12": {
17727
"patterns": [
17728
{
17729
"include": "#template_call_range"
17730
}
17731
]
17732
},
17733
"13": {},
17734
"14": {
17735
"patterns": [
17736
{
17737
"include": "#inline_comment"
17738
}
17739
]
17740
},
17741
"15": {
17742
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17743
},
17744
"16": {
17745
"name": "comment.block.cuda-cpp"
17746
},
17747
"17": {
17748
"patterns": [
17749
{
17750
"match": "\\*\\/",
17751
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17752
},
17753
{
17754
"match": "\\*",
17755
"name": "comment.block.cuda-cpp"
17756
}
17757
]
17758
},
17759
"18": {},
17760
"19": {
17761
"patterns": [
17762
{
17763
"match": "\\*",
17764
"name": "storage.modifier.pointer.cuda-cpp"
17765
},
17766
{
17767
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
17768
"captures": {
17769
"1": {
17770
"patterns": [
17771
{
17772
"include": "#inline_comment"
17773
}
17774
]
17775
},
17776
"2": {
17777
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17778
},
17779
"3": {
17780
"name": "comment.block.cuda-cpp"
17781
},
17782
"4": {
17783
"patterns": [
17784
{
17785
"match": "\\*\\/",
17786
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17787
},
17788
{
17789
"match": "\\*",
17790
"name": "comment.block.cuda-cpp"
17791
}
17792
]
17793
}
17794
},
17795
"name": "invalid.illegal.reference-type.cuda-cpp"
17796
},
17797
{
17798
"match": "\\&",
17799
"name": "storage.modifier.reference.cuda-cpp"
17800
}
17801
]
17802
},
17803
"20": {
17804
"patterns": [
17805
{
17806
"include": "#inline_comment"
17807
}
17808
]
17809
},
17810
"21": {
17811
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17812
},
17813
"22": {
17814
"name": "comment.block.cuda-cpp"
17815
},
17816
"23": {
17817
"patterns": [
17818
{
17819
"match": "\\*\\/",
17820
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17821
},
17822
{
17823
"match": "\\*",
17824
"name": "comment.block.cuda-cpp"
17825
}
17826
]
17827
},
17828
"24": {
17829
"patterns": [
17830
{
17831
"include": "#inline_comment"
17832
}
17833
]
17834
},
17835
"25": {
17836
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17837
},
17838
"26": {
17839
"name": "comment.block.cuda-cpp"
17840
},
17841
"27": {
17842
"patterns": [
17843
{
17844
"match": "\\*\\/",
17845
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17846
},
17847
{
17848
"match": "\\*",
17849
"name": "comment.block.cuda-cpp"
17850
}
17851
]
17852
},
17853
"28": {
17854
"patterns": [
17855
{
17856
"include": "#inline_comment"
17857
}
17858
]
17859
},
17860
"29": {
17861
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17862
},
17863
"30": {
17864
"name": "comment.block.cuda-cpp"
17865
},
17866
"31": {
17867
"patterns": [
17868
{
17869
"match": "\\*\\/",
17870
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17871
},
17872
{
17873
"match": "\\*",
17874
"name": "comment.block.cuda-cpp"
17875
}
17876
]
17877
},
17878
"32": {
17879
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cuda-cpp"
17880
},
17881
"33": {
17882
"name": "punctuation.definition.function.pointer.dereference.cuda-cpp"
17883
},
17884
"34": {
17885
"name": "entity.name.type.alias.cuda-cpp entity.name.type.pointer.function.cuda-cpp"
17886
},
17887
"35": {
17888
"name": "punctuation.definition.begin.bracket.square.cuda-cpp"
17889
},
17890
"36": {
17891
"patterns": [
17892
{
17893
"include": "#evaluation_context"
17894
}
17895
]
17896
},
17897
"37": {
17898
"name": "punctuation.definition.end.bracket.square.cuda-cpp"
17899
},
17900
"38": {
17901
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cuda-cpp"
17902
},
17903
"39": {
17904
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cuda-cpp"
17905
}
17906
},
17907
"endCaptures": {
17908
"1": {
17909
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cuda-cpp"
17910
},
17911
"2": {
17912
"patterns": [
17913
{
17914
"include": "#inline_comment"
17915
}
17916
]
17917
},
17918
"3": {
17919
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17920
},
17921
"4": {
17922
"name": "comment.block.cuda-cpp"
17923
},
17924
"5": {
17925
"patterns": [
17926
{
17927
"match": "\\*\\/",
17928
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17929
},
17930
{
17931
"match": "\\*",
17932
"name": "comment.block.cuda-cpp"
17933
}
17934
]
17935
}
17936
},
17937
"patterns": [
17938
{
17939
"include": "#function_parameter_context"
17940
}
17941
]
17942
}
17943
]
17944
},
17945
"typedef_struct": {
17946
"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)struct(?!\\w))",
17947
"end": "(?<=;)",
17948
"beginCaptures": {
17949
"1": {
17950
"name": "keyword.other.typedef.cuda-cpp"
17951
}
17952
},
17953
"endCaptures": {},
17954
"patterns": [
17955
{
17956
"begin": "((?<!\\w)struct(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
17957
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
17958
"beginCaptures": {
17959
"0": {
17960
"name": "meta.head.struct.cuda-cpp"
17961
},
17962
"1": {
17963
"name": "storage.type.$1.cuda-cpp"
17964
},
17965
"2": {
17966
"patterns": [
17967
{
17968
"include": "#inline_comment"
17969
}
17970
]
17971
},
17972
"3": {
17973
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
17974
},
17975
"4": {
17976
"name": "comment.block.cuda-cpp"
17977
},
17978
"5": {
17979
"patterns": [
17980
{
17981
"match": "\\*\\/",
17982
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
17983
},
17984
{
17985
"match": "\\*",
17986
"name": "comment.block.cuda-cpp"
17987
}
17988
]
17989
},
17990
"6": {
17991
"patterns": [
17992
{
17993
"include": "#attributes_context"
17994
},
17995
{
17996
"include": "#number_literal"
17997
}
17998
]
17999
},
18000
"7": {
18001
"patterns": [
18002
{
18003
"include": "#inline_comment"
18004
}
18005
]
18006
},
18007
"8": {
18008
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18009
},
18010
"9": {
18011
"name": "comment.block.cuda-cpp"
18012
},
18013
"10": {
18014
"patterns": [
18015
{
18016
"match": "\\*\\/",
18017
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18018
},
18019
{
18020
"match": "\\*",
18021
"name": "comment.block.cuda-cpp"
18022
}
18023
]
18024
},
18025
"11": {
18026
"patterns": [
18027
{
18028
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
18029
"captures": {
18030
"1": {
18031
"name": "storage.type.modifier.final.cuda-cpp"
18032
},
18033
"2": {
18034
"patterns": [
18035
{
18036
"include": "#inline_comment"
18037
}
18038
]
18039
},
18040
"3": {
18041
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18042
},
18043
"4": {
18044
"name": "comment.block.cuda-cpp"
18045
},
18046
"5": {
18047
"patterns": [
18048
{
18049
"match": "\\*\\/",
18050
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18051
},
18052
{
18053
"match": "\\*",
18054
"name": "comment.block.cuda-cpp"
18055
}
18056
]
18057
}
18058
}
18059
},
18060
{
18061
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
18062
"captures": {
18063
"1": {
18064
"name": "entity.name.type.struct.cuda-cpp"
18065
},
18066
"2": {
18067
"patterns": [
18068
{
18069
"include": "#inline_comment"
18070
}
18071
]
18072
},
18073
"3": {
18074
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18075
},
18076
"4": {
18077
"name": "comment.block.cuda-cpp"
18078
},
18079
"5": {
18080
"patterns": [
18081
{
18082
"match": "\\*\\/",
18083
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18084
},
18085
{
18086
"match": "\\*",
18087
"name": "comment.block.cuda-cpp"
18088
}
18089
]
18090
},
18091
"6": {
18092
"name": "storage.type.modifier.final.cuda-cpp"
18093
},
18094
"7": {
18095
"patterns": [
18096
{
18097
"include": "#inline_comment"
18098
}
18099
]
18100
},
18101
"8": {
18102
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18103
},
18104
"9": {
18105
"name": "comment.block.cuda-cpp"
18106
},
18107
"10": {
18108
"patterns": [
18109
{
18110
"match": "\\*\\/",
18111
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18112
},
18113
{
18114
"match": "\\*",
18115
"name": "comment.block.cuda-cpp"
18116
}
18117
]
18118
}
18119
}
18120
},
18121
{
18122
"match": "DLLEXPORT",
18123
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"
18124
},
18125
{
18126
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
18127
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"
18128
}
18129
]
18130
},
18131
"12": {
18132
"patterns": [
18133
{
18134
"include": "#inline_comment"
18135
}
18136
]
18137
},
18138
"13": {
18139
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18140
},
18141
"14": {
18142
"name": "comment.block.cuda-cpp"
18143
},
18144
"15": {
18145
"patterns": [
18146
{
18147
"match": "\\*\\/",
18148
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18149
},
18150
{
18151
"match": "\\*",
18152
"name": "comment.block.cuda-cpp"
18153
}
18154
]
18155
},
18156
"16": {
18157
"patterns": [
18158
{
18159
"include": "#inline_comment"
18160
}
18161
]
18162
},
18163
"17": {
18164
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18165
},
18166
"18": {
18167
"name": "comment.block.cuda-cpp"
18168
},
18169
"19": {
18170
"patterns": [
18171
{
18172
"match": "\\*\\/",
18173
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18174
},
18175
{
18176
"match": "\\*",
18177
"name": "comment.block.cuda-cpp"
18178
}
18179
]
18180
},
18181
"20": {
18182
"name": "punctuation.separator.colon.inheritance.cuda-cpp"
18183
}
18184
},
18185
"endCaptures": {
18186
"1": {
18187
"name": "punctuation.terminator.statement.cuda-cpp"
18188
},
18189
"2": {
18190
"name": "punctuation.terminator.statement.cuda-cpp"
18191
}
18192
},
18193
"name": "meta.block.struct.cuda-cpp",
18194
"patterns": [
18195
{
18196
"begin": "\\G ?",
18197
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
18198
"beginCaptures": {},
18199
"endCaptures": {
18200
"0": {
18201
"name": "punctuation.section.block.begin.bracket.curly.struct.cuda-cpp"
18202
}
18203
},
18204
"name": "meta.head.struct.cuda-cpp",
18205
"patterns": [
18206
{
18207
"include": "#ever_present_context"
18208
},
18209
{
18210
"include": "#inheritance_context"
18211
},
18212
{
18213
"include": "#template_call_range"
18214
}
18215
]
18216
},
18217
{
18218
"begin": "(?<=\\{|<%|\\?\\?<)",
18219
"end": "\\}|%>|\\?\\?>",
18220
"beginCaptures": {},
18221
"endCaptures": {
18222
"0": {
18223
"name": "punctuation.section.block.end.bracket.curly.struct.cuda-cpp"
18224
}
18225
},
18226
"name": "meta.body.struct.cuda-cpp",
18227
"patterns": [
18228
{
18229
"include": "#function_pointer"
18230
},
18231
{
18232
"include": "#static_assert"
18233
},
18234
{
18235
"include": "#constructor_inline"
18236
},
18237
{
18238
"include": "#destructor_inline"
18239
},
18240
{
18241
"include": "$self"
18242
}
18243
]
18244
},
18245
{
18246
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
18247
"end": "[\\s]*(?=;)",
18248
"beginCaptures": {},
18249
"endCaptures": {},
18250
"name": "meta.tail.struct.cuda-cpp",
18251
"patterns": [
18252
{
18253
"match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
18254
"captures": {
18255
"1": {
18256
"patterns": [
18257
{
18258
"match": "\\*",
18259
"name": "storage.modifier.pointer.cuda-cpp"
18260
},
18261
{
18262
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
18263
"captures": {
18264
"1": {
18265
"patterns": [
18266
{
18267
"include": "#inline_comment"
18268
}
18269
]
18270
},
18271
"2": {
18272
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18273
},
18274
"3": {
18275
"name": "comment.block.cuda-cpp"
18276
},
18277
"4": {
18278
"patterns": [
18279
{
18280
"match": "\\*\\/",
18281
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18282
},
18283
{
18284
"match": "\\*",
18285
"name": "comment.block.cuda-cpp"
18286
}
18287
]
18288
}
18289
},
18290
"name": "invalid.illegal.reference-type.cuda-cpp"
18291
},
18292
{
18293
"match": "\\&",
18294
"name": "storage.modifier.reference.cuda-cpp"
18295
}
18296
]
18297
},
18298
"2": {
18299
"patterns": [
18300
{
18301
"include": "#inline_comment"
18302
}
18303
]
18304
},
18305
"3": {
18306
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18307
},
18308
"4": {
18309
"name": "comment.block.cuda-cpp"
18310
},
18311
"5": {
18312
"patterns": [
18313
{
18314
"match": "\\*\\/",
18315
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18316
},
18317
{
18318
"match": "\\*",
18319
"name": "comment.block.cuda-cpp"
18320
}
18321
]
18322
},
18323
"6": {
18324
"patterns": [
18325
{
18326
"include": "#inline_comment"
18327
}
18328
]
18329
},
18330
"7": {
18331
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18332
},
18333
"8": {
18334
"name": "comment.block.cuda-cpp"
18335
},
18336
"9": {
18337
"patterns": [
18338
{
18339
"match": "\\*\\/",
18340
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18341
},
18342
{
18343
"match": "\\*",
18344
"name": "comment.block.cuda-cpp"
18345
}
18346
]
18347
},
18348
"10": {
18349
"patterns": [
18350
{
18351
"include": "#inline_comment"
18352
}
18353
]
18354
},
18355
"11": {
18356
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18357
},
18358
"12": {
18359
"name": "comment.block.cuda-cpp"
18360
},
18361
"13": {
18362
"patterns": [
18363
{
18364
"match": "\\*\\/",
18365
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18366
},
18367
{
18368
"match": "\\*",
18369
"name": "comment.block.cuda-cpp"
18370
}
18371
]
18372
},
18373
"14": {
18374
"name": "entity.name.type.alias.cuda-cpp"
18375
}
18376
}
18377
},
18378
{
18379
"match": ","
18380
}
18381
]
18382
}
18383
]
18384
}
18385
]
18386
},
18387
"typedef_union": {
18388
"begin": "((?<!\\w)typedef(?!\\w))(?:(?:\\s)+)?(?=(?<!\\w)union(?!\\w))",
18389
"end": "(?<=;)",
18390
"beginCaptures": {
18391
"1": {
18392
"name": "keyword.other.typedef.cuda-cpp"
18393
}
18394
},
18395
"endCaptures": {},
18396
"patterns": [
18397
{
18398
"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
18399
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
18400
"beginCaptures": {
18401
"0": {
18402
"name": "meta.head.union.cuda-cpp"
18403
},
18404
"1": {
18405
"name": "storage.type.$1.cuda-cpp"
18406
},
18407
"2": {
18408
"patterns": [
18409
{
18410
"include": "#inline_comment"
18411
}
18412
]
18413
},
18414
"3": {
18415
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18416
},
18417
"4": {
18418
"name": "comment.block.cuda-cpp"
18419
},
18420
"5": {
18421
"patterns": [
18422
{
18423
"match": "\\*\\/",
18424
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18425
},
18426
{
18427
"match": "\\*",
18428
"name": "comment.block.cuda-cpp"
18429
}
18430
]
18431
},
18432
"6": {
18433
"patterns": [
18434
{
18435
"include": "#attributes_context"
18436
},
18437
{
18438
"include": "#number_literal"
18439
}
18440
]
18441
},
18442
"7": {
18443
"patterns": [
18444
{
18445
"include": "#inline_comment"
18446
}
18447
]
18448
},
18449
"8": {
18450
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18451
},
18452
"9": {
18453
"name": "comment.block.cuda-cpp"
18454
},
18455
"10": {
18456
"patterns": [
18457
{
18458
"match": "\\*\\/",
18459
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18460
},
18461
{
18462
"match": "\\*",
18463
"name": "comment.block.cuda-cpp"
18464
}
18465
]
18466
},
18467
"11": {
18468
"patterns": [
18469
{
18470
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
18471
"captures": {
18472
"1": {
18473
"name": "storage.type.modifier.final.cuda-cpp"
18474
},
18475
"2": {
18476
"patterns": [
18477
{
18478
"include": "#inline_comment"
18479
}
18480
]
18481
},
18482
"3": {
18483
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18484
},
18485
"4": {
18486
"name": "comment.block.cuda-cpp"
18487
},
18488
"5": {
18489
"patterns": [
18490
{
18491
"match": "\\*\\/",
18492
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18493
},
18494
{
18495
"match": "\\*",
18496
"name": "comment.block.cuda-cpp"
18497
}
18498
]
18499
}
18500
}
18501
},
18502
{
18503
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
18504
"captures": {
18505
"1": {
18506
"name": "entity.name.type.union.cuda-cpp"
18507
},
18508
"2": {
18509
"patterns": [
18510
{
18511
"include": "#inline_comment"
18512
}
18513
]
18514
},
18515
"3": {
18516
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18517
},
18518
"4": {
18519
"name": "comment.block.cuda-cpp"
18520
},
18521
"5": {
18522
"patterns": [
18523
{
18524
"match": "\\*\\/",
18525
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18526
},
18527
{
18528
"match": "\\*",
18529
"name": "comment.block.cuda-cpp"
18530
}
18531
]
18532
},
18533
"6": {
18534
"name": "storage.type.modifier.final.cuda-cpp"
18535
},
18536
"7": {
18537
"patterns": [
18538
{
18539
"include": "#inline_comment"
18540
}
18541
]
18542
},
18543
"8": {
18544
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18545
},
18546
"9": {
18547
"name": "comment.block.cuda-cpp"
18548
},
18549
"10": {
18550
"patterns": [
18551
{
18552
"match": "\\*\\/",
18553
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18554
},
18555
{
18556
"match": "\\*",
18557
"name": "comment.block.cuda-cpp"
18558
}
18559
]
18560
}
18561
}
18562
},
18563
{
18564
"match": "DLLEXPORT",
18565
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"
18566
},
18567
{
18568
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
18569
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"
18570
}
18571
]
18572
},
18573
"12": {
18574
"patterns": [
18575
{
18576
"include": "#inline_comment"
18577
}
18578
]
18579
},
18580
"13": {
18581
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18582
},
18583
"14": {
18584
"name": "comment.block.cuda-cpp"
18585
},
18586
"15": {
18587
"patterns": [
18588
{
18589
"match": "\\*\\/",
18590
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18591
},
18592
{
18593
"match": "\\*",
18594
"name": "comment.block.cuda-cpp"
18595
}
18596
]
18597
},
18598
"16": {
18599
"patterns": [
18600
{
18601
"include": "#inline_comment"
18602
}
18603
]
18604
},
18605
"17": {
18606
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18607
},
18608
"18": {
18609
"name": "comment.block.cuda-cpp"
18610
},
18611
"19": {
18612
"patterns": [
18613
{
18614
"match": "\\*\\/",
18615
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18616
},
18617
{
18618
"match": "\\*",
18619
"name": "comment.block.cuda-cpp"
18620
}
18621
]
18622
},
18623
"20": {
18624
"name": "punctuation.separator.colon.inheritance.cuda-cpp"
18625
}
18626
},
18627
"endCaptures": {
18628
"1": {
18629
"name": "punctuation.terminator.statement.cuda-cpp"
18630
},
18631
"2": {
18632
"name": "punctuation.terminator.statement.cuda-cpp"
18633
}
18634
},
18635
"name": "meta.block.union.cuda-cpp",
18636
"patterns": [
18637
{
18638
"begin": "\\G ?",
18639
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
18640
"beginCaptures": {},
18641
"endCaptures": {
18642
"0": {
18643
"name": "punctuation.section.block.begin.bracket.curly.union.cuda-cpp"
18644
}
18645
},
18646
"name": "meta.head.union.cuda-cpp",
18647
"patterns": [
18648
{
18649
"include": "#ever_present_context"
18650
},
18651
{
18652
"include": "#inheritance_context"
18653
},
18654
{
18655
"include": "#template_call_range"
18656
}
18657
]
18658
},
18659
{
18660
"begin": "(?<=\\{|<%|\\?\\?<)",
18661
"end": "\\}|%>|\\?\\?>",
18662
"beginCaptures": {},
18663
"endCaptures": {
18664
"0": {
18665
"name": "punctuation.section.block.end.bracket.curly.union.cuda-cpp"
18666
}
18667
},
18668
"name": "meta.body.union.cuda-cpp",
18669
"patterns": [
18670
{
18671
"include": "#function_pointer"
18672
},
18673
{
18674
"include": "#static_assert"
18675
},
18676
{
18677
"include": "#constructor_inline"
18678
},
18679
{
18680
"include": "#destructor_inline"
18681
},
18682
{
18683
"include": "$self"
18684
}
18685
]
18686
},
18687
{
18688
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
18689
"end": "[\\s]*(?=;)",
18690
"beginCaptures": {},
18691
"endCaptures": {},
18692
"name": "meta.tail.union.cuda-cpp",
18693
"patterns": [
18694
{
18695
"match": "(((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
18696
"captures": {
18697
"1": {
18698
"patterns": [
18699
{
18700
"match": "\\*",
18701
"name": "storage.modifier.pointer.cuda-cpp"
18702
},
18703
{
18704
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
18705
"captures": {
18706
"1": {
18707
"patterns": [
18708
{
18709
"include": "#inline_comment"
18710
}
18711
]
18712
},
18713
"2": {
18714
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18715
},
18716
"3": {
18717
"name": "comment.block.cuda-cpp"
18718
},
18719
"4": {
18720
"patterns": [
18721
{
18722
"match": "\\*\\/",
18723
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18724
},
18725
{
18726
"match": "\\*",
18727
"name": "comment.block.cuda-cpp"
18728
}
18729
]
18730
}
18731
},
18732
"name": "invalid.illegal.reference-type.cuda-cpp"
18733
},
18734
{
18735
"match": "\\&",
18736
"name": "storage.modifier.reference.cuda-cpp"
18737
}
18738
]
18739
},
18740
"2": {
18741
"patterns": [
18742
{
18743
"include": "#inline_comment"
18744
}
18745
]
18746
},
18747
"3": {
18748
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18749
},
18750
"4": {
18751
"name": "comment.block.cuda-cpp"
18752
},
18753
"5": {
18754
"patterns": [
18755
{
18756
"match": "\\*\\/",
18757
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18758
},
18759
{
18760
"match": "\\*",
18761
"name": "comment.block.cuda-cpp"
18762
}
18763
]
18764
},
18765
"6": {
18766
"patterns": [
18767
{
18768
"include": "#inline_comment"
18769
}
18770
]
18771
},
18772
"7": {
18773
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18774
},
18775
"8": {
18776
"name": "comment.block.cuda-cpp"
18777
},
18778
"9": {
18779
"patterns": [
18780
{
18781
"match": "\\*\\/",
18782
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18783
},
18784
{
18785
"match": "\\*",
18786
"name": "comment.block.cuda-cpp"
18787
}
18788
]
18789
},
18790
"10": {
18791
"patterns": [
18792
{
18793
"include": "#inline_comment"
18794
}
18795
]
18796
},
18797
"11": {
18798
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18799
},
18800
"12": {
18801
"name": "comment.block.cuda-cpp"
18802
},
18803
"13": {
18804
"patterns": [
18805
{
18806
"match": "\\*\\/",
18807
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18808
},
18809
{
18810
"match": "\\*",
18811
"name": "comment.block.cuda-cpp"
18812
}
18813
]
18814
},
18815
"14": {
18816
"name": "entity.name.type.alias.cuda-cpp"
18817
}
18818
}
18819
},
18820
{
18821
"match": ","
18822
}
18823
]
18824
}
18825
]
18826
}
18827
]
18828
},
18829
"typeid_operator": {
18830
"begin": "((?<!\\w)typeid(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\()",
18831
"end": "\\)",
18832
"beginCaptures": {
18833
"1": {
18834
"name": "keyword.operator.functionlike.cuda-cpp keyword.operator.typeid.cuda-cpp"
18835
},
18836
"2": {
18837
"patterns": [
18838
{
18839
"include": "#inline_comment"
18840
}
18841
]
18842
},
18843
"3": {
18844
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18845
},
18846
"4": {
18847
"name": "comment.block.cuda-cpp"
18848
},
18849
"5": {
18850
"patterns": [
18851
{
18852
"match": "\\*\\/",
18853
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18854
},
18855
{
18856
"match": "\\*",
18857
"name": "comment.block.cuda-cpp"
18858
}
18859
]
18860
},
18861
"6": {
18862
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cuda-cpp"
18863
}
18864
},
18865
"endCaptures": {
18866
"0": {
18867
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cuda-cpp"
18868
}
18869
},
18870
"contentName": "meta.arguments.operator.typeid",
18871
"patterns": [
18872
{
18873
"include": "#evaluation_context"
18874
}
18875
]
18876
},
18877
"typename": {
18878
"match": "(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?<!\\w)typename(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(\\s*+((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?:(?:(?:unsigned)|(?:signed)|(?:short)|(?:long))|(?:(?:struct)|(?:class)|(?:union)|(?:enum)))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)(?:\\s)*+)?::)*+)?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?!(?:(?:transaction_safe_dynamic)|(?:__has_cpp_attribute)|(?:reinterpret_cast)|(?:transaction_safe)|(?:__forceinline__)|(?:atomic_noexcept)|(?:__has_include)|(?:atomic_cancel)|(?:atomic_commit)|(?:dynamic_cast)|(?:__constant__)|(?:__restrict__)|(?:__noinline__)|(?:thread_local)|(?:synchronized)|(?:static_cast)|(?:__managed__)|(?:const_cast)|(?:__shared__)|(?:__global__)|(?:__device__)|(?:co_return)|(?:constexpr)|(?:constexpr)|(?:constexpr)|(?:consteval)|(?:protected)|(?:threadIdx)|(?:namespace)|(?:co_return)|(?:noexcept)|(?:noexcept)|(?:continue)|(?:co_await)|(?:co_yield)|(?:volatile)|(?:register)|(?:restrict)|(?:explicit)|(?:__host__)|(?:override)|(?:volatile)|(?:noexcept)|(?:blockIdx)|(?:blockDim)|(?:warpSize)|(?:template)|(?:operator)|(?:decltype)|(?:typename)|(?:requires)|(?:co_await)|(?:co_yield)|(?:reflexpr)|(?:alignof)|(?:alignas)|(?:default)|(?:nullptr)|(?:mutable)|(?:virtual)|(?:mutable)|(?:private)|(?:include)|(?:warning)|(?:_Pragma)|(?:defined)|(?:gridDim)|(?:typedef)|(?:__asm__)|(?:concept)|(?:sizeof)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:typeid)|(?:switch)|(?:return)|(?:static)|(?:extern)|(?:inline)|(?:friend)|(?:public)|(?:ifndef)|(?:define)|(?:pragma)|(?:export)|(?:import)|(?:module)|(?:compl)|(?:bitor)|(?:throw)|(?:or_eq)|(?:while)|(?:catch)|(?:break)|(?:false)|(?:const)|(?:final)|(?:const)|(?:endif)|(?:ifdef)|(?:undef)|(?:error)|(?:using)|(?:audit)|(?:axiom)|(?:else)|(?:goto)|(?:case)|(?:NULL)|(?:true)|(?:elif)|(?:else)|(?:line)|(?:this)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:for)|(?:try)|(?:asm)|(?:or)|(?:do)|(?:if)|(?:if))\\b)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*\\b((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<17>?)+>)?(?![\\w<:.]))",
18879
"captures": {
18880
"1": {
18881
"name": "storage.modifier.cuda-cpp"
18882
},
18883
"2": {
18884
"patterns": [
18885
{
18886
"include": "#inline_comment"
18887
}
18888
]
18889
},
18890
"3": {
18891
"patterns": [
18892
{
18893
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
18894
"captures": {
18895
"1": {
18896
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18897
},
18898
"2": {
18899
"name": "comment.block.cuda-cpp"
18900
},
18901
"3": {
18902
"patterns": [
18903
{
18904
"match": "\\*\\/",
18905
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18906
},
18907
{
18908
"match": "\\*",
18909
"name": "comment.block.cuda-cpp"
18910
}
18911
]
18912
}
18913
}
18914
}
18915
]
18916
},
18917
"4": {
18918
"patterns": [
18919
{
18920
"include": "#inline_comment"
18921
}
18922
]
18923
},
18924
"5": {
18925
"patterns": [
18926
{
18927
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
18928
"captures": {
18929
"1": {
18930
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
18931
},
18932
"2": {
18933
"name": "comment.block.cuda-cpp"
18934
},
18935
"3": {
18936
"patterns": [
18937
{
18938
"match": "\\*\\/",
18939
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
18940
},
18941
{
18942
"match": "\\*",
18943
"name": "comment.block.cuda-cpp"
18944
}
18945
]
18946
}
18947
}
18948
}
18949
]
18950
},
18951
"6": {
18952
"name": "meta.qualified_type.cuda-cpp",
18953
"patterns": [
18954
{
18955
"match": "::",
18956
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.cuda-cpp"
18957
},
18958
{
18959
"match": "(?<!\\w)(?:(?:struct)|(?:class)|(?:union)|(?:enum))(?!\\w)",
18960
"name": "storage.type.$0.cuda-cpp"
18961
},
18962
{
18963
"include": "#attributes_context"
18964
},
18965
{
18966
"include": "#storage_types"
18967
},
18968
{
18969
"include": "#number_literal"
18970
},
18971
{
18972
"include": "#string_context"
18973
},
18974
{
18975
"include": "#comma"
18976
},
18977
{
18978
"include": "#scope_resolution_inner_generated"
18979
},
18980
{
18981
"begin": "<",
18982
"end": ">",
18983
"beginCaptures": {
18984
"0": {
18985
"name": "punctuation.section.angle-brackets.begin.template.call.cuda-cpp"
18986
}
18987
},
18988
"endCaptures": {
18989
"0": {
18990
"name": "punctuation.section.angle-brackets.end.template.call.cuda-cpp"
18991
}
18992
},
18993
"name": "meta.template.call.cuda-cpp",
18994
"patterns": [
18995
{
18996
"include": "#template_call_context"
18997
}
18998
]
18999
},
19000
{
19001
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
19002
"name": "entity.name.type.cuda-cpp"
19003
}
19004
]
19005
},
19006
"7": {
19007
"patterns": [
19008
{
19009
"include": "#attributes_context"
19010
},
19011
{
19012
"include": "#number_literal"
19013
}
19014
]
19015
},
19016
"8": {
19017
"patterns": [
19018
{
19019
"include": "#inline_comment"
19020
}
19021
]
19022
},
19023
"9": {
19024
"patterns": [
19025
{
19026
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19027
"captures": {
19028
"1": {
19029
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19030
},
19031
"2": {
19032
"name": "comment.block.cuda-cpp"
19033
},
19034
"3": {
19035
"patterns": [
19036
{
19037
"match": "\\*\\/",
19038
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19039
},
19040
{
19041
"match": "\\*",
19042
"name": "comment.block.cuda-cpp"
19043
}
19044
]
19045
}
19046
}
19047
}
19048
]
19049
},
19050
"10": {
19051
"patterns": [
19052
{
19053
"include": "#inline_comment"
19054
}
19055
]
19056
},
19057
"11": {
19058
"patterns": [
19059
{
19060
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19061
"captures": {
19062
"1": {
19063
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19064
},
19065
"2": {
19066
"name": "comment.block.cuda-cpp"
19067
},
19068
"3": {
19069
"patterns": [
19070
{
19071
"match": "\\*\\/",
19072
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19073
},
19074
{
19075
"match": "\\*",
19076
"name": "comment.block.cuda-cpp"
19077
}
19078
]
19079
}
19080
}
19081
}
19082
]
19083
},
19084
"12": {
19085
"patterns": [
19086
{
19087
"match": "::",
19088
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.type.cuda-cpp"
19089
},
19090
{
19091
"match": "(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)",
19092
"name": "entity.name.scope-resolution.type.cuda-cpp"
19093
},
19094
{
19095
"include": "#template_call_range"
19096
}
19097
]
19098
},
19099
"13": {
19100
"patterns": [
19101
{
19102
"include": "#template_call_range"
19103
}
19104
]
19105
},
19106
"14": {},
19107
"15": {
19108
"patterns": [
19109
{
19110
"include": "#inline_comment"
19111
}
19112
]
19113
},
19114
"16": {
19115
"patterns": [
19116
{
19117
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19118
"captures": {
19119
"1": {
19120
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19121
},
19122
"2": {
19123
"name": "comment.block.cuda-cpp"
19124
},
19125
"3": {
19126
"patterns": [
19127
{
19128
"match": "\\*\\/",
19129
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19130
},
19131
{
19132
"match": "\\*",
19133
"name": "comment.block.cuda-cpp"
19134
}
19135
]
19136
}
19137
}
19138
}
19139
]
19140
},
19141
"17": {}
19142
}
19143
},
19144
"undef": {
19145
"match": "(^((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(#)(?:(?:\\s)+)?undef\\b)((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))",
19146
"captures": {
19147
"1": {
19148
"name": "keyword.control.directive.undef.cuda-cpp"
19149
},
19150
"2": {
19151
"patterns": [
19152
{
19153
"include": "#inline_comment"
19154
}
19155
]
19156
},
19157
"3": {
19158
"patterns": [
19159
{
19160
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19161
"captures": {
19162
"1": {
19163
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19164
},
19165
"2": {
19166
"name": "comment.block.cuda-cpp"
19167
},
19168
"3": {
19169
"patterns": [
19170
{
19171
"match": "\\*\\/",
19172
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19173
},
19174
{
19175
"match": "\\*",
19176
"name": "comment.block.cuda-cpp"
19177
}
19178
]
19179
}
19180
}
19181
}
19182
]
19183
},
19184
"4": {
19185
"name": "punctuation.definition.directive.cuda-cpp"
19186
},
19187
"5": {
19188
"patterns": [
19189
{
19190
"include": "#inline_comment"
19191
}
19192
]
19193
},
19194
"6": {
19195
"patterns": [
19196
{
19197
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19198
"captures": {
19199
"1": {
19200
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19201
},
19202
"2": {
19203
"name": "comment.block.cuda-cpp"
19204
},
19205
"3": {
19206
"patterns": [
19207
{
19208
"match": "\\*\\/",
19209
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19210
},
19211
{
19212
"match": "\\*",
19213
"name": "comment.block.cuda-cpp"
19214
}
19215
]
19216
}
19217
}
19218
}
19219
]
19220
},
19221
"7": {
19222
"name": "entity.name.function.preprocessor.cuda-cpp"
19223
}
19224
},
19225
"name": "meta.preprocessor.undef.cuda-cpp"
19226
},
19227
"union_block": {
19228
"begin": "((?<!\\w)union(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:(?={)|(?:((?:(?:(?:\\[\\[.*?\\]\\]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?((?:(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*+)?(?:((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(:(?!:)))?)",
19229
"end": "(?:(?:(?<=\\}|%>|\\?\\?>)(?:(?:\\s)+)?(;)|(;))|(?=[;>\\[\\]=]))",
19230
"beginCaptures": {
19231
"0": {
19232
"name": "meta.head.union.cuda-cpp"
19233
},
19234
"1": {
19235
"name": "storage.type.$1.cuda-cpp"
19236
},
19237
"2": {
19238
"patterns": [
19239
{
19240
"include": "#inline_comment"
19241
}
19242
]
19243
},
19244
"3": {
19245
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19246
},
19247
"4": {
19248
"name": "comment.block.cuda-cpp"
19249
},
19250
"5": {
19251
"patterns": [
19252
{
19253
"match": "\\*\\/",
19254
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19255
},
19256
{
19257
"match": "\\*",
19258
"name": "comment.block.cuda-cpp"
19259
}
19260
]
19261
},
19262
"6": {
19263
"patterns": [
19264
{
19265
"include": "#attributes_context"
19266
},
19267
{
19268
"include": "#number_literal"
19269
}
19270
]
19271
},
19272
"7": {
19273
"patterns": [
19274
{
19275
"include": "#inline_comment"
19276
}
19277
]
19278
},
19279
"8": {
19280
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19281
},
19282
"9": {
19283
"name": "comment.block.cuda-cpp"
19284
},
19285
"10": {
19286
"patterns": [
19287
{
19288
"match": "\\*\\/",
19289
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19290
},
19291
{
19292
"match": "\\*",
19293
"name": "comment.block.cuda-cpp"
19294
}
19295
]
19296
},
19297
"11": {
19298
"patterns": [
19299
{
19300
"match": "((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))",
19301
"captures": {
19302
"1": {
19303
"name": "storage.type.modifier.final.cuda-cpp"
19304
},
19305
"2": {
19306
"patterns": [
19307
{
19308
"include": "#inline_comment"
19309
}
19310
]
19311
},
19312
"3": {
19313
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19314
},
19315
"4": {
19316
"name": "comment.block.cuda-cpp"
19317
},
19318
"5": {
19319
"patterns": [
19320
{
19321
"match": "\\*\\/",
19322
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19323
},
19324
{
19325
"match": "\\*",
19326
"name": "comment.block.cuda-cpp"
19327
}
19328
]
19329
}
19330
}
19331
},
19332
{
19333
"match": "((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?:((?<!\\w)final(?!\\w))((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))?(?=:|{|$)",
19334
"captures": {
19335
"1": {
19336
"name": "entity.name.type.union.cuda-cpp"
19337
},
19338
"2": {
19339
"patterns": [
19340
{
19341
"include": "#inline_comment"
19342
}
19343
]
19344
},
19345
"3": {
19346
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19347
},
19348
"4": {
19349
"name": "comment.block.cuda-cpp"
19350
},
19351
"5": {
19352
"patterns": [
19353
{
19354
"match": "\\*\\/",
19355
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19356
},
19357
{
19358
"match": "\\*",
19359
"name": "comment.block.cuda-cpp"
19360
}
19361
]
19362
},
19363
"6": {
19364
"name": "storage.type.modifier.final.cuda-cpp"
19365
},
19366
"7": {
19367
"patterns": [
19368
{
19369
"include": "#inline_comment"
19370
}
19371
]
19372
},
19373
"8": {
19374
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19375
},
19376
"9": {
19377
"name": "comment.block.cuda-cpp"
19378
},
19379
"10": {
19380
"patterns": [
19381
{
19382
"match": "\\*\\/",
19383
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19384
},
19385
{
19386
"match": "\\*",
19387
"name": "comment.block.cuda-cpp"
19388
}
19389
]
19390
}
19391
}
19392
},
19393
{
19394
"match": "DLLEXPORT",
19395
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cuda-cpp"
19396
},
19397
{
19398
"match": "(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*",
19399
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cuda-cpp"
19400
}
19401
]
19402
},
19403
"12": {
19404
"patterns": [
19405
{
19406
"include": "#inline_comment"
19407
}
19408
]
19409
},
19410
"13": {
19411
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19412
},
19413
"14": {
19414
"name": "comment.block.cuda-cpp"
19415
},
19416
"15": {
19417
"patterns": [
19418
{
19419
"match": "\\*\\/",
19420
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19421
},
19422
{
19423
"match": "\\*",
19424
"name": "comment.block.cuda-cpp"
19425
}
19426
]
19427
},
19428
"16": {
19429
"patterns": [
19430
{
19431
"include": "#inline_comment"
19432
}
19433
]
19434
},
19435
"17": {
19436
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19437
},
19438
"18": {
19439
"name": "comment.block.cuda-cpp"
19440
},
19441
"19": {
19442
"patterns": [
19443
{
19444
"match": "\\*\\/",
19445
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19446
},
19447
{
19448
"match": "\\*",
19449
"name": "comment.block.cuda-cpp"
19450
}
19451
]
19452
},
19453
"20": {
19454
"name": "punctuation.separator.colon.inheritance.cuda-cpp"
19455
}
19456
},
19457
"endCaptures": {
19458
"1": {
19459
"name": "punctuation.terminator.statement.cuda-cpp"
19460
},
19461
"2": {
19462
"name": "punctuation.terminator.statement.cuda-cpp"
19463
}
19464
},
19465
"name": "meta.block.union.cuda-cpp",
19466
"patterns": [
19467
{
19468
"begin": "\\G ?",
19469
"end": "(?:\\{|<%|\\?\\?<|(?=;))",
19470
"beginCaptures": {},
19471
"endCaptures": {
19472
"0": {
19473
"name": "punctuation.section.block.begin.bracket.curly.union.cuda-cpp"
19474
}
19475
},
19476
"name": "meta.head.union.cuda-cpp",
19477
"patterns": [
19478
{
19479
"include": "#ever_present_context"
19480
},
19481
{
19482
"include": "#inheritance_context"
19483
},
19484
{
19485
"include": "#template_call_range"
19486
}
19487
]
19488
},
19489
{
19490
"begin": "(?<=\\{|<%|\\?\\?<)",
19491
"end": "\\}|%>|\\?\\?>",
19492
"beginCaptures": {},
19493
"endCaptures": {
19494
"0": {
19495
"name": "punctuation.section.block.end.bracket.curly.union.cuda-cpp"
19496
}
19497
},
19498
"name": "meta.body.union.cuda-cpp",
19499
"patterns": [
19500
{
19501
"include": "#function_pointer"
19502
},
19503
{
19504
"include": "#static_assert"
19505
},
19506
{
19507
"include": "#constructor_inline"
19508
},
19509
{
19510
"include": "#destructor_inline"
19511
},
19512
{
19513
"include": "$self"
19514
}
19515
]
19516
},
19517
{
19518
"begin": "(?<=\\}|%>|\\?\\?>)[\\s]*",
19519
"end": "[\\s]*(?=;)",
19520
"beginCaptures": {},
19521
"endCaptures": {},
19522
"name": "meta.tail.union.cuda-cpp",
19523
"patterns": [
19524
{
19525
"include": "$self"
19526
}
19527
]
19528
}
19529
]
19530
},
19531
"union_declare": {
19532
"match": "((?<!\\w)union(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))?(?:(?:&|(?:\\*))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z))))*(?:&|(?:\\*)))?((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))((?:((?:(?>(?:\\s)+)|\\/\\*(?:[^\\*]|(?:\\*)++[^\\/])*+(?:\\*)++\\/)+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))(?=\\S)(?![:{a-zA-Z])",
19533
"captures": {
19534
"1": {
19535
"name": "storage.type.union.declare.cuda-cpp"
19536
},
19537
"2": {
19538
"patterns": [
19539
{
19540
"include": "#inline_comment"
19541
}
19542
]
19543
},
19544
"3": {
19545
"patterns": [
19546
{
19547
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19548
"captures": {
19549
"1": {
19550
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19551
},
19552
"2": {
19553
"name": "comment.block.cuda-cpp"
19554
},
19555
"3": {
19556
"patterns": [
19557
{
19558
"match": "\\*\\/",
19559
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19560
},
19561
{
19562
"match": "\\*",
19563
"name": "comment.block.cuda-cpp"
19564
}
19565
]
19566
}
19567
}
19568
}
19569
]
19570
},
19571
"4": {
19572
"name": "entity.name.type.union.cuda-cpp"
19573
},
19574
"5": {
19575
"patterns": [
19576
{
19577
"match": "\\*",
19578
"name": "storage.modifier.pointer.cuda-cpp"
19579
},
19580
{
19581
"match": "(?:\\&((?:(?:(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))+)|(?:\\b)|(?=\\W)|(?<=\\W)|(?:\\A)|(?:\\Z)))){2,}\\&",
19582
"captures": {
19583
"1": {
19584
"patterns": [
19585
{
19586
"include": "#inline_comment"
19587
}
19588
]
19589
},
19590
"2": {
19591
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19592
},
19593
"3": {
19594
"name": "comment.block.cuda-cpp"
19595
},
19596
"4": {
19597
"patterns": [
19598
{
19599
"match": "\\*\\/",
19600
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19601
},
19602
{
19603
"match": "\\*",
19604
"name": "comment.block.cuda-cpp"
19605
}
19606
]
19607
}
19608
},
19609
"name": "invalid.illegal.reference-type.cuda-cpp"
19610
},
19611
{
19612
"match": "\\&",
19613
"name": "storage.modifier.reference.cuda-cpp"
19614
}
19615
]
19616
},
19617
"6": {
19618
"patterns": [
19619
{
19620
"include": "#inline_comment"
19621
}
19622
]
19623
},
19624
"7": {
19625
"patterns": [
19626
{
19627
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19628
"captures": {
19629
"1": {
19630
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19631
},
19632
"2": {
19633
"name": "comment.block.cuda-cpp"
19634
},
19635
"3": {
19636
"patterns": [
19637
{
19638
"match": "\\*\\/",
19639
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19640
},
19641
{
19642
"match": "\\*",
19643
"name": "comment.block.cuda-cpp"
19644
}
19645
]
19646
}
19647
}
19648
}
19649
]
19650
},
19651
"8": {
19652
"patterns": [
19653
{
19654
"include": "#inline_comment"
19655
}
19656
]
19657
},
19658
"9": {
19659
"patterns": [
19660
{
19661
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19662
"captures": {
19663
"1": {
19664
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19665
},
19666
"2": {
19667
"name": "comment.block.cuda-cpp"
19668
},
19669
"3": {
19670
"patterns": [
19671
{
19672
"match": "\\*\\/",
19673
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19674
},
19675
{
19676
"match": "\\*",
19677
"name": "comment.block.cuda-cpp"
19678
}
19679
]
19680
}
19681
}
19682
}
19683
]
19684
},
19685
"10": {
19686
"patterns": [
19687
{
19688
"include": "#inline_comment"
19689
}
19690
]
19691
},
19692
"11": {
19693
"patterns": [
19694
{
19695
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19696
"captures": {
19697
"1": {
19698
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19699
},
19700
"2": {
19701
"name": "comment.block.cuda-cpp"
19702
},
19703
"3": {
19704
"patterns": [
19705
{
19706
"match": "\\*\\/",
19707
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19708
},
19709
{
19710
"match": "\\*",
19711
"name": "comment.block.cuda-cpp"
19712
}
19713
]
19714
}
19715
}
19716
}
19717
]
19718
},
19719
"12": {
19720
"name": "variable.other.object.declare.cuda-cpp"
19721
},
19722
"13": {
19723
"patterns": [
19724
{
19725
"include": "#inline_comment"
19726
}
19727
]
19728
},
19729
"14": {
19730
"patterns": [
19731
{
19732
"match": "(?:(?>(?:\\s)+)|(\\/\\*)((?:[^\\*]|(?:\\*)++[^\\/])*+((?:\\*)++\\/)))",
19733
"captures": {
19734
"1": {
19735
"name": "comment.block.cuda-cpp punctuation.definition.comment.begin.cuda-cpp"
19736
},
19737
"2": {
19738
"name": "comment.block.cuda-cpp"
19739
},
19740
"3": {
19741
"patterns": [
19742
{
19743
"match": "\\*\\/",
19744
"name": "comment.block.cuda-cpp punctuation.definition.comment.end.cuda-cpp"
19745
},
19746
{
19747
"match": "\\*",
19748
"name": "comment.block.cuda-cpp"
19749
}
19750
]
19751
}
19752
}
19753
}
19754
]
19755
}
19756
}
19757
},
19758
"using_name": {
19759
"match": "(using)(?:\\s)+(?!namespace\\b)",
19760
"captures": {
19761
"1": {
19762
"name": "keyword.other.using.directive.cuda-cpp"
19763
}
19764
}
19765
},
19766
"using_namespace": {
19767
"begin": "(?<!\\w)(using)(?:\\s)+(namespace)(?:\\s)+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|__forceinline__|atomic_noexcept|__has_include|atomic_cancel|atomic_commit|dynamic_cast|__constant__|__restrict__|__noinline__|thread_local|synchronized|static_cast|__managed__|const_cast|__shared__|__global__|__device__|co_return|constexpr|constexpr|constexpr|consteval|protected|namespace|co_return|noexcept|noexcept|continue|co_await|co_yield|volatile|register|restrict|explicit|__host__|volatile|noexcept|template|operator|decltype|typename|requires|co_await|co_yield|reflexpr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|public|ifndef|define|pragma|export|import|module|compl|bitor|throw|or_eq|while|catch|break|class|union|const|const|endif|ifdef|undef|error|using|else|goto|case|enum|elif|else|line|this|not|new|xor|and|for|try|asm|or|do|if|if)\\b)(?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:(?:(?:[^'\"<>]*+|\"(?:[^\"]*|\\\\\")\")|'(?:[^']*|\\\\')')\\g<6>?)+>)(?:\\s)*+)?::)*\\s*+)?((?<!\\w)(?:[a-zA-Z_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))(?:[a-zA-Z0-9_]|(?:\\\\u[0-9a-fA-F]{4}|\\\\U[0-9a-fA-F]{8}))*(?!\\w))(?=;|\\n)",
19768
"end": ";",
19769
"beginCaptures": {
19770
"1": {
19771
"name": "keyword.other.using.directive.cuda-cpp"
19772
},
19773
"2": {
19774
"name": "keyword.other.namespace.directive.cuda-cpp storage.type.namespace.directive.cuda-cpp"
19775
},
19776
"3": {
19777
"patterns": [
19778
{
19779
"include": "#scope_resolution_namespace_using_inner_generated"
19780
}
19781
]
19782
},
19783
"4": {
19784
"name": "punctuation.separator.namespace.access.cuda-cpp punctuation.separator.scope-resolution.namespace.using.cuda-cpp"
19785
},
19786
"5": {
19787
"patterns": [
19788
{
19789
"include": "#template_call_range"
19790
}
19791
]
19792
},
19793
"6": {},
19794
"7": {
19795
"name": "entity.name.namespace.cuda-cpp"
19796
}
19797
},
19798
"endCaptures": {
19799
"0": {
19800
"name": "punctuation.terminator.statement.cuda-cpp"
19801
}
19802
},
19803
"name": "meta.using-namespace.cuda-cpp"
19804
},
19805
"vararg_ellipses": {
19806
"match": "(?<!\\.)\\.\\.\\.(?!\\.)",
19807
"name": "punctuation.vararg-ellipses.cuda-cpp"
19808
},
19809
"wordlike_operators": {
19810
"patterns": [
19811
{
19812
"match": "(?<!\\w)(?:(?:noexcept)|(?:delete)|(?:not_eq)|(?:bitand)|(?:and_eq)|(?:xor_eq)|(?:compl)|(?:bitor)|(?:or_eq)|(?:not)|(?:new)|(?:xor)|(?:and)|(?:or))(?!\\w)",
19813
"name": "keyword.operator.wordlike.cuda-cpp keyword.operator.$0.cuda-cpp"
19814
}
19815
]
19816
}
19817
}
19818
}
19819