16636 lines
604 KiB
JSON
16636 lines
604 KiB
JSON
{
|
|
"displayName": "C++",
|
|
"name": "cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#constructor_root"
|
|
},
|
|
{
|
|
"include": "#destructor_root"
|
|
},
|
|
{
|
|
"include": "#function_definition"
|
|
},
|
|
{
|
|
"include": "#operator_overload"
|
|
},
|
|
{
|
|
"include": "#using_namespace"
|
|
},
|
|
{
|
|
"include": "#type_alias"
|
|
},
|
|
{
|
|
"include": "#using_name"
|
|
},
|
|
{
|
|
"include": "#namespace_alias"
|
|
},
|
|
{
|
|
"include": "#namespace_block"
|
|
},
|
|
{
|
|
"include": "#extern_block"
|
|
},
|
|
{
|
|
"include": "#typedef_class"
|
|
},
|
|
{
|
|
"include": "#typedef_struct"
|
|
},
|
|
{
|
|
"include": "#typedef_union"
|
|
},
|
|
{
|
|
"include": "#misc_keywords"
|
|
},
|
|
{
|
|
"include": "#standard_declares"
|
|
},
|
|
{
|
|
"include": "#class_block"
|
|
},
|
|
{
|
|
"include": "#struct_block"
|
|
},
|
|
{
|
|
"include": "#union_block"
|
|
},
|
|
{
|
|
"include": "#enum_block"
|
|
},
|
|
{
|
|
"include": "#template_isolated_definition"
|
|
},
|
|
{
|
|
"include": "#template_definition"
|
|
},
|
|
{
|
|
"include": "#template_explicit_instantiation"
|
|
},
|
|
{
|
|
"include": "#access_control_keywords"
|
|
},
|
|
{
|
|
"include": "#block"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#assembly"
|
|
},
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
],
|
|
"repository": {
|
|
"access_control_keywords": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "storage.type.modifier.access.control.$4.cpp"
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "punctuation.separator.colon.access.control.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((p(?:rotected|rivate|ublic))\\s+{0,1}(:))"
|
|
},
|
|
"alignas_attribute": {
|
|
"begin": "alignas\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace.cpp"
|
|
}
|
|
},
|
|
"match": "(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.attribute.cpp"
|
|
},
|
|
{
|
|
"match": ":",
|
|
"name": "punctuation.accessor.attribute.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)",
|
|
"name": "entity.name.namespace.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.other.attribute.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"alignas_operator": {
|
|
"begin": "((?<!\\w)alignas(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.alignas",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"alignof_operator": {
|
|
"begin": "((?<!\\w)alignof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.alignof",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"assembly": {
|
|
"begin": "\\b(__asm__|asm)\\b\\s+{0,1}((?:volatile)?)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "storage.type.asm.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.modifier.cpp"
|
|
}
|
|
},
|
|
"end": "(?!\\G)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.asm.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\n|$)"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.assembly.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.assembly.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "(R?)(\")",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "meta.encoding.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.definition.string.begin.assembly.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.embedded.assembly",
|
|
"end": "\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end.assembly.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.asm"
|
|
},
|
|
{
|
|
"include": "source.x86"
|
|
},
|
|
{
|
|
"include": "source.x86_64"
|
|
},
|
|
{
|
|
"include": "source.arm"
|
|
},
|
|
{
|
|
"include": "#backslash_escapes"
|
|
},
|
|
{
|
|
"include": "#string_escaped_char"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.other.asm.label.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\[((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)]"
|
|
},
|
|
{
|
|
"match": ":",
|
|
"name": "punctuation.separator.delimiter.colon.assembly.cpp"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"assignment_operator": {
|
|
"match": "=",
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"attributes_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#cpp_attributes"
|
|
},
|
|
{
|
|
"include": "#gcc_attributes"
|
|
},
|
|
{
|
|
"include": "#ms_attributes"
|
|
},
|
|
{
|
|
"include": "#alignas_attribute"
|
|
}
|
|
]
|
|
},
|
|
"backslash_escapes": {
|
|
"match": "\\\\([\"'?\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
"block": {
|
|
"begin": "\\{",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.cpp"
|
|
}
|
|
},
|
|
"end": "}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
"block_comment": {
|
|
"begin": "\\s*+(/\\*)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\*/",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"builtin_storage_type_initilizer": {
|
|
"begin": "\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)\\s*+(?<!\\w)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.type.cpp storage.type.built-in.cpp"
|
|
},
|
|
"3": {
|
|
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
|
|
},
|
|
"4": {
|
|
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.initializer.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.initializer.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"case_statement": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)case(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.control.case.cpp"
|
|
}
|
|
},
|
|
"end": ":",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.colon.case.cpp"
|
|
}
|
|
},
|
|
"name": "meta.conditional.case.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"class_block": {
|
|
"begin": "((?<!\\w)class(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.class.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.$1.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.type.class.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"
|
|
},
|
|
{
|
|
"match": "DLLEXPORT",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "punctuation.separator.colon.inheritance.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.class.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#inheritance_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.class.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#constructor_inline"
|
|
},
|
|
{
|
|
"include": "#destructor_inline"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"class_declare": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.class.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)class(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
"comma": {
|
|
"match": ",",
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
},
|
|
"comma_in_template_argument": {
|
|
"match": ",",
|
|
"name": "punctuation.separator.delimiter.comma.template.argument.cpp"
|
|
},
|
|
"comments": {
|
|
"patterns": [
|
|
{
|
|
"begin": "^\\s+{1,0}(//[!/]+)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment.documentation.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=\\n)(?<!\\\\\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "comment.line.double-slash.documentation.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#line_continuation_character"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.italic.doxygen.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.bold.doxygen.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.inline.raw.string.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"
|
|
},
|
|
{
|
|
"match": "(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"match": "in|out",
|
|
"name": "keyword.other.parameter.direction.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.cpp"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.parameter.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s+{0,1}(?:in|out)\\s+{0,1})+)])?(\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?:(,)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))*)"
|
|
},
|
|
{
|
|
"match": "(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"match": "\\b[A-Z]+:|@[_a-z]+:",
|
|
"name": "storage.type.class.gtkdoc.cpp"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment.begin.documentation.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.italic.doxygen.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.bold.doxygen.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.inline.raw.string.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"
|
|
},
|
|
{
|
|
"match": "(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"match": "in|out",
|
|
"name": "keyword.other.parameter.direction.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.cpp"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.parameter.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s+{0,1}(?:in|out)\\s+{0,1})+)])?(\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?:(,)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))*)"
|
|
},
|
|
{
|
|
"match": "(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"match": "\\b[A-Z]+:|@[_a-z]+:",
|
|
"name": "storage.type.class.gtkdoc.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.definition.comment.end.documentation.cpp"
|
|
}
|
|
},
|
|
"match": "(/\\*[!*]+(?=\\s))(.+)([!*]*\\*/)",
|
|
"name": "comment.block.documentation.cpp"
|
|
},
|
|
{
|
|
"begin": "\\s+{1,0}/\\*[!*]+(?:(?:\\n|$)|(?=\\s))",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.comment.begin.documentation.cpp"
|
|
}
|
|
},
|
|
"end": "[!*]*\\*/",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.comment.end.documentation.cpp"
|
|
}
|
|
},
|
|
"name": "comment.block.documentation.cpp",
|
|
"patterns": [
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.italic.doxygen.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\](?:a|em?))\\s+(\\S+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.bold.doxygen.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\]b)\\s+(\\S+)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"name": "markup.inline.raw.string.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\][cp])\\s+(\\S+)"
|
|
},
|
|
{
|
|
"match": "(?<=[!*/\\s])[@\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"match": "in|out",
|
|
"name": "keyword.other.parameter.direction.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.cpp"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.parameter.cpp"
|
|
}
|
|
},
|
|
"match": "((?<=[!*/\\s])[@\\\\]param)(?:\\s*\\[((?:,?\\s+{0,1}(?:in|out)\\s+{0,1})+)])?(\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?:(,)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))*)"
|
|
},
|
|
{
|
|
"match": "(?<=[!*/\\s])[@\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\b(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"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(?:\\{[^}]*})?",
|
|
"name": "storage.type.class.doxygen.cpp"
|
|
},
|
|
{
|
|
"match": "\\b[A-Z]+:|@[_a-z]+:",
|
|
"name": "storage.type.class.gtkdoc.cpp"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#emacs_file_banner"
|
|
},
|
|
{
|
|
"include": "#block_comment"
|
|
},
|
|
{
|
|
"include": "#line_comment"
|
|
},
|
|
{
|
|
"include": "#invalid_comment_end"
|
|
}
|
|
]
|
|
},
|
|
"constructor_inline": {
|
|
"begin": "^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=\\())",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.function.definition.special.constructor.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"15": {
|
|
"name": "entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#functional_specifiers_pre_parameters"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
|
|
}
|
|
},
|
|
"match": "(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"
|
|
},
|
|
{
|
|
"include": "#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"begin": ":",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.initializers.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\{)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "entity.name.function.call.initializer.cpp"
|
|
},
|
|
"2": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.parameter.initialization",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(\\{)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "entity.name.function.call.initializer.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.parameter.initialization",
|
|
"end": "}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.function.definition.parameters.special.constructor",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"constructor_root": {
|
|
"begin": "\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<8>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)::((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\10((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\())",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.function.definition.special.constructor.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"10": {
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.constructor.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?=:)",
|
|
"name": "entity.name.type.constructor.cpp"
|
|
},
|
|
{
|
|
"match": "(?<=:)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.function.definition.special.constructor.cpp"
|
|
},
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp"
|
|
}
|
|
},
|
|
"match": "(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"
|
|
},
|
|
{
|
|
"include": "#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"begin": ":",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.initializers.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\{)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "entity.name.function.call.initializer.cpp"
|
|
},
|
|
"2": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.parameter.initialization",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(\\{)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "entity.name.function.call.initializer.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.parameter.initialization",
|
|
"end": "}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.special.constructor.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.function.definition.parameters.special.constructor",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"control_flow_keywords": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.control.$3.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?!\\w))"
|
|
},
|
|
"cpp_attributes": {
|
|
"begin": "\\[\\[",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "]]",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace.cpp"
|
|
}
|
|
},
|
|
"match": "(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.attribute.cpp"
|
|
},
|
|
{
|
|
"match": ":",
|
|
"name": "punctuation.accessor.attribute.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)",
|
|
"name": "entity.name.namespace.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.other.attribute.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"curly_initializer": {
|
|
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\{)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"18": {
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"23": {
|
|
"name": "punctuation.section.arguments.begin.bracket.curly.initializer.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
|
|
}
|
|
},
|
|
"name": "meta.initialization.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
}
|
|
]
|
|
},
|
|
"d9bc4796b0b_module_import": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "string.quoted.double.include.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"12": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"name": "entity.name.other.preprocessor.macro.include.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"21": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"22": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.control.directive.import.cpp"
|
|
},
|
|
"5": {
|
|
"name": "string.quoted.other.lt-gt.include.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((import))\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//)))|((\")[^\"]*(\"?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//))))|((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?:\\.(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)*(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;))))|(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;)))\\s+{0,1}(;?)",
|
|
"name": "meta.preprocessor.import.cpp"
|
|
},
|
|
"d9bc4796b0b_preprocessor_number_literal": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"begin": "(?=.)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "$",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.hexadecimal.cpp"
|
|
},
|
|
"10": {
|
|
"name": "constant.numeric.exponent.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "constant.numeric.hexadecimal.cpp"
|
|
},
|
|
"5": {
|
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
|
|
},
|
|
"8": {
|
|
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
|
|
},
|
|
"9": {
|
|
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.numeric.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"3": {
|
|
"name": "constant.numeric.decimal.point.cpp"
|
|
},
|
|
"4": {
|
|
"name": "constant.numeric.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.unit.exponent.decimal.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.operator.plus.exponent.decimal.cpp"
|
|
},
|
|
"8": {
|
|
"name": "keyword.operator.minus.exponent.decimal.cpp"
|
|
},
|
|
"9": {
|
|
"name": "constant.numeric.exponent.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.binary.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.binary.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0[Bb])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.octal.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.octal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.hexadecimal.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
|
|
},
|
|
"7": {
|
|
"name": "constant.numeric.exponent.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.numeric.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.other.unit.exponent.decimal.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.operator.plus.exponent.decimal.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.operator.minus.exponent.decimal.cpp"
|
|
},
|
|
"6": {
|
|
"name": "constant.numeric.exponent.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?$"
|
|
},
|
|
{
|
|
"match": "(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+",
|
|
"name": "invalid.illegal.constant.numeric.cpp"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(?<!\\w)\\.?\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"
|
|
},
|
|
"decltype": {
|
|
"begin": "((?<!\\w)decltype(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.decltype",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"decltype_specifier": {
|
|
"begin": "((?<!\\w)decltype(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.decltype.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.decltype",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.decltype.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"default_statement": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)default(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.control.default.cpp"
|
|
}
|
|
},
|
|
"end": ":",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.colon.case.default.cpp"
|
|
}
|
|
},
|
|
"name": "meta.conditional.case.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"destructor_inline": {
|
|
"begin": "^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*)(~(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=\\())",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.function.definition.special.member.destructor.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#functional_specifiers_pre_parameters"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"15": {
|
|
"name": "entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
|
|
}
|
|
},
|
|
"match": "(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.function.definition.parameters.special.member.destructor",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
]
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"destructor_root": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?>(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)::((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)~\\14((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\())",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.function.definition.special.member.destructor.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.destructor.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?=:)",
|
|
"name": "entity.name.type.destructor.cpp"
|
|
},
|
|
{
|
|
"match": "(?<=:)~(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.function.definition.special.member.destructor.cpp"
|
|
},
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"20": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"23": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"24": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"25": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"26": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp"
|
|
}
|
|
},
|
|
"match": "(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.function.definition.parameters.special.member.destructor",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
]
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"diagnostic": {
|
|
"begin": "^(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}(error|warning))\\b\\s+{0,1}",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.directive.diagnostic.$7.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
},
|
|
"7": {
|
|
}
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"begin": "\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
}
|
|
},
|
|
"end": "(\")|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "'",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
}
|
|
},
|
|
"end": "(')|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.single.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "[^\"']",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "string.unquoted.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#line_continuation_character"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"emacs_file_banner": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "meta.toc-list.banner.double-slash.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.line.double-slash.cpp"
|
|
},
|
|
"3": {
|
|
"name": "punctuation.definition.comment.cpp"
|
|
},
|
|
"4": {
|
|
"name": "meta.banner.character.cpp"
|
|
},
|
|
"5": {
|
|
"name": "meta.toc-list.banner.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.line.banner.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.definition.comment.cpp"
|
|
},
|
|
"8": {
|
|
"name": "meta.banner.character.cpp"
|
|
}
|
|
},
|
|
"match": "^(?:(\\s+{0,1}((//)\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\s+{0,1}.+\\s+{0,1}\\4\\s+{0,1}(?:\\n|$)))|(\\s+{0,1}((/\\*)\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\s+{0,1}.+\\s+{0,1}\\8\\s+{0,1}\\*/)))"
|
|
},
|
|
"empty_square_brackets": {
|
|
"match": "(?<!delete)\\[\\s+{0,1}]",
|
|
"name": "storage.modifier.array.bracket.square"
|
|
},
|
|
"enum_block": {
|
|
"begin": "((?<!\\w)enum(?!\\w))(?:\\s+(class|struct))?(?:(?:\\s+|((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\))))|(?=\\{))\\s+{0,1}((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(?:\\s+{0,1}(:)\\s+{0,1}(?:((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::))?\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))?",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.enum.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.enum.cpp"
|
|
},
|
|
"10": {
|
|
"name": "entity.name.scope-resolution.cpp"
|
|
},
|
|
"11": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
"17": {
|
|
"name": "storage.type.integral.$17.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.type.enum.enum-key.$2.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.enum.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.separator.colon.type-specifier.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.enum.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#enumerator_list"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#semicolon"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"enum_declare": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.enum.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.enum.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)enum(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
"enumerator_list": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "variable.other.enummember.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#semicolon"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?\\s+{0,1}(?:(=)\\s+{0,1}(.+?)\\s+{0,1})?(?:(?:([,;](?!')|\\n)|(?=}[^']))|(?=/[*/]))",
|
|
"name": "meta.enum.definition.cpp"
|
|
},
|
|
"evaluation_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
},
|
|
{
|
|
"include": "#member_access"
|
|
},
|
|
{
|
|
"include": "#predefined_macros"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "#memory_operators"
|
|
},
|
|
{
|
|
"include": "#wordlike_operators"
|
|
},
|
|
{
|
|
"include": "#type_casting_operators"
|
|
},
|
|
{
|
|
"include": "#control_flow_keywords"
|
|
},
|
|
{
|
|
"include": "#exception_keywords"
|
|
},
|
|
{
|
|
"include": "#the_this_keyword"
|
|
},
|
|
{
|
|
"include": "#language_constants"
|
|
},
|
|
{
|
|
"include": "#builtin_storage_type_initilizer"
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#lambdas"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#parentheses"
|
|
},
|
|
{
|
|
"include": "#function_call"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"include": "#square_brackets"
|
|
},
|
|
{
|
|
"include": "#semicolon"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
}
|
|
]
|
|
},
|
|
"ever_present_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#pragma_mark"
|
|
},
|
|
{
|
|
"include": "#pragma"
|
|
},
|
|
{
|
|
"include": "#include"
|
|
},
|
|
{
|
|
"include": "#line"
|
|
},
|
|
{
|
|
"include": "#diagnostic"
|
|
},
|
|
{
|
|
"include": "#undef"
|
|
},
|
|
{
|
|
"include": "#preprocessor_conditional_range"
|
|
},
|
|
{
|
|
"include": "#single_line_macro"
|
|
},
|
|
{
|
|
"include": "#macro"
|
|
},
|
|
{
|
|
"include": "#preprocessor_conditional_standalone"
|
|
},
|
|
{
|
|
"include": "#macro_argument"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"exception_keywords": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.control.exception.$3.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:throw|catch|try)(?!\\w))"
|
|
},
|
|
"extern_block": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(extern)(?=\\s*\")",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.extern.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "storage.type.extern.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.extern.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
"function_body_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#using_namespace"
|
|
},
|
|
{
|
|
"include": "#type_alias"
|
|
},
|
|
{
|
|
"include": "#using_name"
|
|
},
|
|
{
|
|
"include": "#namespace_alias"
|
|
},
|
|
{
|
|
"include": "#typedef_class"
|
|
},
|
|
{
|
|
"include": "#typedef_struct"
|
|
},
|
|
{
|
|
"include": "#typedef_union"
|
|
},
|
|
{
|
|
"include": "#misc_keywords"
|
|
},
|
|
{
|
|
"include": "#standard_declares"
|
|
},
|
|
{
|
|
"include": "#class_block"
|
|
},
|
|
{
|
|
"include": "#struct_block"
|
|
},
|
|
{
|
|
"include": "#union_block"
|
|
},
|
|
{
|
|
"include": "#enum_block"
|
|
},
|
|
{
|
|
"include": "#access_control_keywords"
|
|
},
|
|
{
|
|
"include": "#block"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#assembly"
|
|
},
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#switch_statement"
|
|
},
|
|
{
|
|
"include": "#goto_statement"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
},
|
|
{
|
|
"include": "#label"
|
|
}
|
|
]
|
|
},
|
|
"function_call": {
|
|
"begin": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\b(?<!(?:\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_call_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"15": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.function.call.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.function.call.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.call.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"function_definition": {
|
|
"begin": "(?:(?:^|\\G|(?<=[;}]))|(?<=>|\\*/))\\s*+(?:((?<!\\w)template(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:((?<!\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<52>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<52>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<52>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\b(?<!(?:\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\()",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.function.definition.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.template.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"11": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"13": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"23": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"24": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"25": {
|
|
},
|
|
"26": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"27": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"28": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"30": {
|
|
},
|
|
"31": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"32": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"33": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"34": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"35": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"36": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"37": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"38": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"39": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"40": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"41": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"42": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"43": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"44": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"45": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"46": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"47": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"48": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"49": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_definition_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"50": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
|
|
},
|
|
"51": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"52": {
|
|
},
|
|
"53": {
|
|
"name": "entity.name.function.definition.cpp"
|
|
},
|
|
"54": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"55": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"56": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"57": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.modifier.$1.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "storage.modifier.$8.cpp"
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.function.definition.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.function.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.function.definition.parameters",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#parameter_or_maybe_value"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "punctuation.definition.function.return-type.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"11": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"23": {
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
}
|
|
},
|
|
"match": "(?<=^|\\))\\s+{0,1}(->)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<23>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<23>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.function.definition.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.function.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"function_parameter_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#parameter"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
}
|
|
]
|
|
},
|
|
"function_pointer": {
|
|
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()(\\*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(?:(\\[)(\\w*)(])\\s+{0,1})*(\\))\\s+{0,1}(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"18": {
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"23": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"24": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"25": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"26": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"27": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"28": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"30": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"31": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"32": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
|
|
},
|
|
"33": {
|
|
"name": "punctuation.definition.function.pointer.dereference.cpp"
|
|
},
|
|
"34": {
|
|
"name": "variable.other.definition.pointer.function.cpp"
|
|
},
|
|
"35": {
|
|
"name": "punctuation.definition.begin.bracket.square.cpp"
|
|
},
|
|
"36": {
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"37": {
|
|
"name": "punctuation.definition.end.bracket.square.cpp"
|
|
},
|
|
"38": {
|
|
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"39": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(\\))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),;=>{])(?!\\()",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
}
|
|
]
|
|
},
|
|
"function_pointer_parameter": {
|
|
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()(\\*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(?:(\\[)(\\w*)(])\\s+{0,1})*(\\))\\s+{0,1}(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"18": {
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"23": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"24": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"25": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"26": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"27": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"28": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"30": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"31": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"32": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
|
|
},
|
|
"33": {
|
|
"name": "punctuation.definition.function.pointer.dereference.cpp"
|
|
},
|
|
"34": {
|
|
"name": "variable.parameter.pointer.function.cpp"
|
|
},
|
|
"35": {
|
|
"name": "punctuation.definition.begin.bracket.square.cpp"
|
|
},
|
|
"36": {
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"37": {
|
|
"name": "punctuation.definition.end.bracket.square.cpp"
|
|
},
|
|
"38": {
|
|
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"39": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(\\))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),;=>{])(?!\\()",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
}
|
|
]
|
|
},
|
|
"functional_specifiers_pre_parameters": {
|
|
"match": "(?<!\\w)(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?!\\w)",
|
|
"name": "storage.modifier.specifier.functional.pre-parameters.$0.cpp"
|
|
},
|
|
"gcc_attributes": {
|
|
"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\)\\s*\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace.cpp"
|
|
}
|
|
},
|
|
"match": "(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.attribute.cpp"
|
|
},
|
|
{
|
|
"match": ":",
|
|
"name": "punctuation.accessor.attribute.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)",
|
|
"name": "entity.name.namespace.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.other.attribute.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"goto_statement": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.control.goto.cpp"
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "entity.name.label.call.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)goto(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)"
|
|
},
|
|
"identifier": {
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*"
|
|
},
|
|
"include": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"name": "string.quoted.double.include.cpp"
|
|
},
|
|
"12": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"13": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"name": "entity.name.other.preprocessor.macro.include.cpp"
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"21": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"22": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.control.directive.$5.cpp"
|
|
},
|
|
"4": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
},
|
|
"6": {
|
|
"name": "string.quoted.other.lt-gt.include.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((#)\\s+{0,1}(include(?:|_next)))\\b\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//)))|((\")[^\"]*(\"?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//))))|((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?:\\.(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)*(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;))))|(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:\\n|$)|(?=//|;)))",
|
|
"name": "meta.preprocessor.include.cpp"
|
|
},
|
|
"inheritance_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.delimiter.comma.inheritance.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)p(?:rotected|rivate|ublic)(?!\\w)",
|
|
"name": "storage.type.modifier.access.$0.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)virtual(?!\\w)",
|
|
"name": "storage.type.modifier.virtual.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
}
|
|
},
|
|
"match": "(?<=protected|virtual|private|public|[,:])\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))"
|
|
}
|
|
]
|
|
},
|
|
"inline_builtin_storage_type": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.type.cpp storage.type.built-in.cpp"
|
|
},
|
|
"3": {
|
|
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
|
|
},
|
|
"4": {
|
|
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)"
|
|
},
|
|
"inline_comment": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))"
|
|
},
|
|
"invalid_comment_end": {
|
|
"match": "\\*/",
|
|
"name": "invalid.illegal.unexpected.punctuation.definition.comment.end.cpp"
|
|
},
|
|
"label": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "entity.name.label.cpp"
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.label.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\b(?<!case|default)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:)"
|
|
},
|
|
"lambdas": {
|
|
"begin": "(?:(?<=\\S|^)(?<![]\"\\&)*>\\[\\w])|(?<=(?:\\W|^)return))\\s+{0,1}(\\[(?!\\[| *+\"| *+\\d))((?:[^]\\[]|((?<!\\[)\\[(?!\\[)(?:[^]\\[]*+\\g<3>?)++]))*+)(](?!((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)[];=\\[]))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.capture.begin.lambda.cpp"
|
|
},
|
|
"2": {
|
|
"name": "meta.lambda.capture.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#the_this_keyword"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "variable.parameter.capture.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
}
|
|
},
|
|
"match": "((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?=]|\\z|$)|(,))|(=))"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
},
|
|
"4": {
|
|
"name": "punctuation.definition.capture.end.lambda.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=[;}])",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.parameters.begin.lambda.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.parameters.end.lambda.cpp"
|
|
}
|
|
},
|
|
"name": "meta.function.definition.parameters.lambda.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:constexpr|consteval|mutable)(?!\\w)",
|
|
"name": "storage.modifier.lambda.$0.cpp"
|
|
},
|
|
{
|
|
"begin": "->",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.lambda.return-type.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\{)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"match": "\\S+",
|
|
"name": "storage.type.return-type.lambda.cpp"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\{",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.lambda.cpp"
|
|
}
|
|
},
|
|
"end": "}",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
|
|
}
|
|
},
|
|
"name": "meta.function.definition.body.lambda.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"language_constants": {
|
|
"match": "(?<!\\w)(?:nullptr|false|NULL|true)(?!\\w)",
|
|
"name": "constant.language.$0.cpp"
|
|
},
|
|
"line": {
|
|
"begin": "^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}line\\b",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "keyword.control.directive.line.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
}
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.preprocessor.line.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#preprocessor_number_literal"
|
|
},
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"line_comment": {
|
|
"begin": "\\s*+(//)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment.cpp"
|
|
}
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "comment.line.double-slash.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"line_continuation_character": {
|
|
"match": "\\\\\\n",
|
|
"name": "constant.character.escape.line-continuation.cpp"
|
|
},
|
|
"macro": {
|
|
"begin": "^(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}define)\\b\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.directive.define.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
},
|
|
"7": {
|
|
"name": "entity.name.function.preprocessor.cpp"
|
|
}
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.preprocessor.macro.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "punctuation.definition.parameters.begin.preprocessor.cpp"
|
|
},
|
|
"2": {
|
|
"name": "meta.function.preprocessor.parameters.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "variable.parameter.preprocessor.cpp"
|
|
}
|
|
},
|
|
"match": "(?<=[(,])\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.parameters.cpp"
|
|
},
|
|
{
|
|
"match": "\\.\\.\\.",
|
|
"name": "punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.definition.parameters.end.preprocessor.cpp"
|
|
}
|
|
},
|
|
"match": "\\G\\s+{0,1}(\\()([^(]*)(\\))"
|
|
},
|
|
{
|
|
"include": "#macro_context"
|
|
},
|
|
{
|
|
"include": "#macro_argument"
|
|
}
|
|
]
|
|
},
|
|
"macro_argument": {
|
|
"match": "##?(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "variable.other.macro.argument.cpp"
|
|
},
|
|
"macro_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp.embedded.macro"
|
|
}
|
|
]
|
|
},
|
|
"macro_name": {
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.function.preprocessor.cpp"
|
|
},
|
|
"member_access": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "variable.language.this.cpp"
|
|
},
|
|
"4": {
|
|
"name": "variable.other.object.access.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.separator.dot-access.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.pointer-access.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.language.this.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.other.object.property.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.separator.dot-access.cpp"
|
|
},
|
|
"8": {
|
|
"name": "punctuation.separator.pointer-access.cpp"
|
|
}
|
|
},
|
|
"match": "(?<=\\.\\*?|->\\*??)\\s+{0,1}(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.language.this.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.other.object.access.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.separator.dot-access.cpp"
|
|
},
|
|
"8": {
|
|
"name": "punctuation.separator.pointer-access.cpp"
|
|
}
|
|
},
|
|
"match": "(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"
|
|
},
|
|
{
|
|
"include": "#member_access"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "variable.other.property.cpp"
|
|
}
|
|
},
|
|
"match": "(?:(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s+{0,1}(?:\\.\\*?|->\\*?)\\s+{0,1})*)\\s+{0,1}\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\W)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b(?!\\())"
|
|
},
|
|
"memory_operators": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.operator.wordlike.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.operator.delete.array.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.operator.delete.array.bracket.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.operator.delete.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.operator.new.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:(?:(delete)\\s+{0,1}(\\[])|(delete))|(new))(?!\\w))"
|
|
},
|
|
"method_access": {
|
|
"begin": "(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s+{0,1}(?:\\.\\*?|->\\*?)\\s+{0,1})*)\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "entity.name.function.member.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.function.member.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.language.this.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.other.object.access.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.separator.dot-access.cpp"
|
|
},
|
|
"8": {
|
|
"name": "punctuation.separator.pointer-access.cpp"
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.language.this.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.other.object.property.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.separator.dot-access.cpp"
|
|
},
|
|
"8": {
|
|
"name": "punctuation.separator.pointer-access.cpp"
|
|
}
|
|
},
|
|
"match": "(?<=\\.\\*?|->\\*??)\\s+{0,1}(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.language.this.cpp"
|
|
},
|
|
"6": {
|
|
"name": "variable.other.object.access.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.separator.dot-access.cpp"
|
|
},
|
|
"8": {
|
|
"name": "punctuation.separator.pointer-access.cpp"
|
|
}
|
|
},
|
|
"match": "(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*|(?<=[])]))\\s+{0,1}))(?:(\\.\\*?)|(->\\*?))"
|
|
},
|
|
{
|
|
"include": "#member_access"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"misc_keywords": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.other.$3.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:constinit|requires|typedef|concept|export|module)(?!\\w))"
|
|
},
|
|
"ms_attributes": {
|
|
"begin": "__declspec\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace.cpp"
|
|
}
|
|
},
|
|
"match": "(using)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ",",
|
|
"name": "punctuation.separator.attribute.cpp"
|
|
},
|
|
{
|
|
"match": ":",
|
|
"name": "punctuation.accessor.attribute.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(?=::)",
|
|
"name": "entity.name.namespace.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.other.attribute.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"namespace_alias": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp"
|
|
},
|
|
"10": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.namespace.alias.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"4": {
|
|
"name": "meta.declaration.namespace.alias.value.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_alias_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"name": "entity.name.namespace.cpp"
|
|
}
|
|
},
|
|
"match": "(?<!\\w)(namespace)\\s+((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}(=)\\s+{0,1}(((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<8>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}(?:(;)|\\n))",
|
|
"name": "meta.declaration.namespace.alias.cpp"
|
|
},
|
|
"namespace_block": {
|
|
"begin": "((?<!\\w)namespace(?!\\w))",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.namespace.cpp"
|
|
},
|
|
"1": {
|
|
"name": "keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.block.namespace.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.namespace.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.namespace.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_block_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.namespace.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.scope-resolution.namespace.block.cpp"
|
|
},
|
|
"7": {
|
|
"name": "storage.modifier.inline.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<4>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)\\s+{0,1}((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s+{0,1}(?:(::)\\s+{0,1}(inline))?"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.namespace.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.namespace.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"noexcept_operator": {
|
|
"begin": "((?<!\\w)noexcept(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.noexcept",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"number_literal": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"begin": "(?=.)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "$",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.hexadecimal.cpp"
|
|
},
|
|
"10": {
|
|
"name": "constant.numeric.exponent.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
|
|
},
|
|
"12": {
|
|
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "constant.numeric.hexadecimal.cpp"
|
|
},
|
|
"5": {
|
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
|
|
},
|
|
"8": {
|
|
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
|
|
},
|
|
"9": {
|
|
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?((?<=\\h)\\.|\\.(?=\\h))(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?((?:\\w(?<![Pp\\h])\\w*)?)$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.numeric.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp"
|
|
},
|
|
"11": {
|
|
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"3": {
|
|
"name": "constant.numeric.decimal.point.cpp"
|
|
},
|
|
"4": {
|
|
"name": "constant.numeric.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.unit.exponent.decimal.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.operator.plus.exponent.decimal.cpp"
|
|
},
|
|
"8": {
|
|
"name": "keyword.operator.minus.exponent.decimal.cpp"
|
|
},
|
|
"9": {
|
|
"name": "constant.numeric.exponent.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?((?<=[0-9])\\.|\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)?(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?([FLfl](?!\\w))?((?:\\w(?<![0-9Ee])\\w*)?)$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.binary.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.binary.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0[Bb])([01](?:[01]|((?<=\\h)'(?=\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![0-9])\\w*)?)$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.octal.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.octal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0)((?:[0-7]|((?<=\\h)'(?=\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![0-9])\\w*)?)$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.unit.hexadecimal.cpp"
|
|
},
|
|
"2": {
|
|
"name": "constant.numeric.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.unit.exponent.hexadecimal.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.operator.plus.exponent.hexadecimal.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.operator.minus.exponent.hexadecimal.cpp"
|
|
},
|
|
"7": {
|
|
"name": "constant.numeric.exponent.hexadecimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
},
|
|
"9": {
|
|
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(0[Xx])(\\h(?:\\h|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Pp])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![Pp\\h])\\w*)?)$"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.numeric.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.other.unit.exponent.decimal.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.operator.plus.exponent.decimal.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.operator.minus.exponent.decimal.cpp"
|
|
},
|
|
"6": {
|
|
"name": "constant.numeric.exponent.decimal.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "(?<=\\h)'(?=\\h)",
|
|
"name": "punctuation.separator.constant.numeric.cpp"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp"
|
|
},
|
|
"8": {
|
|
"name": "keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp"
|
|
}
|
|
},
|
|
"match": "\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\h)'(?=\\h)))*)(?:(?<!')([Ee])(\\+?)(-?)([0-9](?:[0-9]|(?<=\\h)'(?=\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\w))?((?:\\w(?<![0-9Ee])\\w*)?)$"
|
|
},
|
|
{
|
|
"match": "(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+",
|
|
"name": "invalid.illegal.constant.numeric.cpp"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(?<!\\w)\\.?\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*"
|
|
},
|
|
"operator_overload": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(operator)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<55>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(?:(?:(delete\\[]|delete|new\\[]|<=>|<<=|new|>>=|->\\*|/=|%=|&=|>=|\\|=|\\+\\+|--|\\(\\)|\\[]|->|\\+\\+|<<|>>|--|<=|\\^=|==|!=|&&|\\|\\||\\+=|-=|\\*=|[!%\\&*-\\-/<=>^|~])|((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:\\[])?)))|(\"\")((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[(<])",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.function.definition.special.operator-overload.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"20": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"22": {
|
|
},
|
|
"23": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"24": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"25": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"26": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"27": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"28": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"30": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"31": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"32": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"33": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"34": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"35": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"36": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"37": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"38": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"39": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"40": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"41": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"42": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"43": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"44": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"45": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.operator.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"46": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"47": {
|
|
},
|
|
"48": {
|
|
"name": "keyword.other.operator.overload.cpp"
|
|
},
|
|
"49": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"50": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"51": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"52": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"53": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.operator-overload.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"54": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"55": {
|
|
},
|
|
"56": {
|
|
"name": "entity.name.operator.cpp"
|
|
},
|
|
"57": {
|
|
"name": "entity.name.operator.type.cpp"
|
|
},
|
|
"58": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "entity.name.operator.type.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "entity.name.operator.type.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"59": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"60": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"61": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"62": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"63": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"64": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"65": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"66": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"67": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"68": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"69": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"70": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"71": {
|
|
"name": "entity.name.operator.type.array.cpp"
|
|
},
|
|
"72": {
|
|
"name": "entity.name.operator.custom-literal.cpp"
|
|
},
|
|
"73": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"74": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"75": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"76": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"77": {
|
|
"name": "entity.name.operator.custom-literal.cpp"
|
|
},
|
|
"78": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"79": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"80": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"81": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.operator-overload.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.function.definition.special.operator-overload.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.function.definition.parameters.special.operator-overload",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "keyword.other.default.function.cpp"
|
|
},
|
|
"7": {
|
|
"name": "keyword.other.delete.function.cpp"
|
|
}
|
|
},
|
|
"match": "(=)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(default)|(delete))"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.function.definition.special.operator-overload.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_body_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.special.operator-overload.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"operators": {
|
|
"patterns": [
|
|
{
|
|
"begin": "((?<!\\w)sizeof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.sizeof",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?<!\\w)alignof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.alignof.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.alignof",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.alignof.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?<!\\w)alignas(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.alignas.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.alignas",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.alignas.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?<!\\w)typeid(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.typeid",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?<!\\w)noexcept(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.noexcept",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\b(sizeof\\.\\.\\.)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.sizeof.variadic",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "--",
|
|
"name": "keyword.operator.decrement.cpp"
|
|
},
|
|
{
|
|
"match": "\\+\\+",
|
|
"name": "keyword.operator.increment.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[-%*+]|(?<!\\()/)=",
|
|
"name": "keyword.operator.assignment.compound.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[\\&^]|<<|>>|\\|)=",
|
|
"name": "keyword.operator.assignment.compound.bitwise.cpp"
|
|
},
|
|
{
|
|
"match": "<<|>>",
|
|
"name": "keyword.operator.bitwise.shift.cpp"
|
|
},
|
|
{
|
|
"match": "!=|<=|>=|==|[<>]",
|
|
"name": "keyword.operator.comparison.cpp"
|
|
},
|
|
{
|
|
"match": "&&|!|\\|\\|",
|
|
"name": "keyword.operator.logical.cpp"
|
|
},
|
|
{
|
|
"match": "[\\&^|~]",
|
|
"name": "keyword.operator.bitwise.cpp"
|
|
},
|
|
{
|
|
"include": "#assignment_operator"
|
|
},
|
|
{
|
|
"match": "[-%*+/]",
|
|
"name": "keyword.operator.arithmetic.cpp"
|
|
},
|
|
{
|
|
"include": "#ternary_operator"
|
|
}
|
|
]
|
|
},
|
|
"over_qualified_types": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.struct.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.struct.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(struct)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.enum.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.enum.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(enum)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.union.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.union.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(union)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.class.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(class)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
}
|
|
]
|
|
},
|
|
"parameter": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\w)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\))|(,)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"name": "meta.parameter.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#function_pointer_parameter"
|
|
},
|
|
{
|
|
"include": "#decltype"
|
|
},
|
|
{
|
|
"include": "#vararg_ellipses"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#storage_types"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
|
|
},
|
|
"12": {
|
|
"name": "storage.type.cpp storage.type.built-in.cpp"
|
|
},
|
|
"13": {
|
|
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
|
|
},
|
|
"14": {
|
|
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
|
|
},
|
|
"15": {
|
|
"name": "entity.name.type.parameter.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.modifier.specifier.parameter.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)|((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\b\\b(?<!(?:\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[),=])"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_parameter_inner_generated"
|
|
},
|
|
{
|
|
"match": "struct|class|union|enum",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"begin": "(?<==)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?=\\))|(,)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "=",
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?<![(,:\\s])((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),=\\[])"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\[",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
|
|
}
|
|
},
|
|
"end": "]",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
|
|
}
|
|
},
|
|
"name": "meta.bracket.square.array.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b(?<!(?:\\W|^)(?:struct|class|union|enum))",
|
|
"name": "entity.name.type.parameter.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
},
|
|
{
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*]"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"parameter_class": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.class.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(class)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
"parameter_enum": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.enum.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.enum.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(enum)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
"parameter_or_maybe_value": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\w)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\))|(,)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"name": "meta.parameter.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#function_pointer_parameter"
|
|
},
|
|
{
|
|
"include": "#memory_operators"
|
|
},
|
|
{
|
|
"include": "#builtin_storage_type_initilizer"
|
|
},
|
|
{
|
|
"include": "#curly_initializer"
|
|
},
|
|
{
|
|
"include": "#decltype"
|
|
},
|
|
{
|
|
"include": "#vararg_ellipses"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#storage_types"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "storage.type.primitive.cpp storage.type.built-in.primitive.cpp"
|
|
},
|
|
"12": {
|
|
"name": "storage.type.cpp storage.type.built-in.cpp"
|
|
},
|
|
"13": {
|
|
"name": "support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp"
|
|
},
|
|
"14": {
|
|
"name": "support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp"
|
|
},
|
|
"15": {
|
|
"name": "entity.name.type.parameter.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.modifier.specifier.parameter.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\s*+(?<!\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\w*_t))(?!\\w)|((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\b\\b(?<!(?:\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[),=])"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#function_call"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_parameter_inner_generated"
|
|
},
|
|
{
|
|
"match": "struct|class|union|enum",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"begin": "(?<==)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?=\\))|(,)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "variable.parameter.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?<![(,:\\s])((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[),=\\[]|//|(?:\\n|$))"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\[",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.begin.bracket.square.array.type.cpp"
|
|
}
|
|
},
|
|
"end": "]",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.end.bracket.square.array.type.cpp"
|
|
}
|
|
},
|
|
"name": "meta.bracket.square.array.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b(?<!(?:\\W|^)(?:struct|class|union|enum))",
|
|
"name": "entity.name.type.parameter.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
},
|
|
{
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*]"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"parameter_struct": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.struct.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.struct.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(struct)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
"parameter_union": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.union.parameter.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.union.parameter.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\b(union)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))?)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:\\[(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[\\n),])"
|
|
},
|
|
"parentheses": {
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.cpp"
|
|
}
|
|
},
|
|
"name": "meta.parens.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#over_qualified_types"
|
|
},
|
|
{
|
|
"match": "(?<!:):(?!:)",
|
|
"name": "punctuation.separator.colon.range-based.cpp"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"pragma": {
|
|
"begin": "^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}pragma\\b",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "keyword.control.directive.pragma.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
}
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.preprocessor.pragma.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"match": "[$A-Z_a-z][-$\\w]*",
|
|
"name": "entity.other.attribute-name.pragma.preprocessor.cpp"
|
|
},
|
|
{
|
|
"include": "#preprocessor_number_literal"
|
|
},
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"pragma_mark": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.directive.pragma.pragma-mark.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
},
|
|
"5": {
|
|
"name": "entity.name.tag.pragma-mark.cpp"
|
|
}
|
|
},
|
|
"match": "^((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}pragma\\s+mark)\\s+(.*)",
|
|
"name": "meta.preprocessor.pragma.cpp"
|
|
},
|
|
"predefined_macros": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.other.preprocessor.macro.predefined.$1.cpp"
|
|
}
|
|
},
|
|
"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__|__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_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"
|
|
},
|
|
{
|
|
"match": "\\b__([A-Z_]+)__\\b",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$1.cpp"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_conditional_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#preprocessor_conditional_defined"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "#language_constants"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#d9bc4796b0b_preprocessor_number_literal"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "#predefined_macros"
|
|
},
|
|
{
|
|
"include": "#macro_name"
|
|
},
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_conditional_defined": {
|
|
"begin": "((?<!\\w)defined(?!\\w))(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.control.directive.conditional.defined.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.parens.control.defined.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.control.defined.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#macro_name"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_conditional_parentheses": {
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.cpp"
|
|
}
|
|
},
|
|
"name": "meta.parens.preprocessor.conditional.cpp"
|
|
},
|
|
"preprocessor_conditional_range": {
|
|
"begin": "^((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}(if(?:n?def|))",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "keyword.control.directive.conditional.$6.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
},
|
|
"6": {
|
|
}
|
|
},
|
|
"contentName": "meta.preprocessor.conditional",
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#preprocessor_conditional_context"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_conditional_standalone": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
}
|
|
},
|
|
"match": "^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}((?<!\\w)e(?:ndif|lse|lif)(?!\\w))",
|
|
"name": "keyword.control.directive.$4.cpp"
|
|
},
|
|
"preprocessor_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#pragma_mark"
|
|
},
|
|
{
|
|
"include": "#pragma"
|
|
},
|
|
{
|
|
"include": "#include"
|
|
},
|
|
{
|
|
"include": "#line"
|
|
},
|
|
{
|
|
"include": "#diagnostic"
|
|
},
|
|
{
|
|
"include": "#undef"
|
|
},
|
|
{
|
|
"include": "#preprocessor_conditional_range"
|
|
},
|
|
{
|
|
"include": "#single_line_macro"
|
|
},
|
|
{
|
|
"include": "#macro"
|
|
},
|
|
{
|
|
"include": "#preprocessor_conditional_standalone"
|
|
},
|
|
{
|
|
"include": "#macro_argument"
|
|
}
|
|
]
|
|
},
|
|
"qualified_type": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<11>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w])",
|
|
"name": "meta.qualified_type.cpp"
|
|
},
|
|
"qualifiers_and_specifiers_post_parameters": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "storage.modifier.specifier.functional.post-parameters.$5.cpp"
|
|
}
|
|
},
|
|
"match": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?:(?:(?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?<!\\w)(?:override|volatile|noexcept|final|const)(?!\\w))+)(?=\\s*[\\n\\r;={])"
|
|
},
|
|
"scope_resolution": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_function_call": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_call_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_function_call_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_call_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.function.call.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_function_definition": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_definition_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_function_definition_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_definition_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.function.definition.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_function_definition_operator_overload": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_function_definition_operator_overload_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_function_definition_operator_overload_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.function.definition.operator-overload.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_namespace_alias": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_alias_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_namespace_alias_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_alias_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.namespace.alias.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_namespace_block": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_block_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_namespace_block_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_block_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.namespace.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_namespace_using": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_using_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_namespace_using_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_using_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.namespace.using.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_parameter": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_parameter_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_parameter_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_parameter_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.parameter.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_template_call": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_template_call_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_template_call_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_template_call_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.template.call.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"scope_resolution_template_definition": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_template_definition_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<3>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+"
|
|
},
|
|
"scope_resolution_template_definition_inner_generated": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_template_definition_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
},
|
|
"5": {
|
|
"name": "entity.name.scope-resolution.template.definition.cpp"
|
|
},
|
|
"6": {
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)((?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))\\s*+(((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<7>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?(::)"
|
|
},
|
|
"semicolon": {
|
|
"match": ";",
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"simple_type": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
}
|
|
},
|
|
"match": "(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<12>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?"
|
|
},
|
|
"single_line_macro": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#macro"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "^(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)#define.*(?<!\\\\)(?:\\n|$)"
|
|
},
|
|
"sizeof_operator": {
|
|
"begin": "((?<!\\w)sizeof(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.sizeof",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"sizeof_variadic_operator": {
|
|
"begin": "\\b(sizeof\\.\\.\\.)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.sizeof.variadic",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"square_brackets": {
|
|
"begin": "([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\[)(?!])",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "variable.other.object"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.definition.begin.bracket.square"
|
|
}
|
|
},
|
|
"end": "]",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.end.bracket.square"
|
|
}
|
|
},
|
|
"name": "meta.bracket.square.access",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"standard_declares": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.struct.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.struct.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)struct(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.union.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.union.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)union(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.enum.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.enum.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)enum(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.class.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.class.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)class(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
}
|
|
]
|
|
},
|
|
"static_assert": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)static_assert|_Static_assert(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.static_assert.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.other.static_assert.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.static_assert.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "(,)\\s+{0,1}(?=(?:L|u8?|U\\s+{0,1}\")?)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\))",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.static_assert.message.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#string_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"std_space": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z"
|
|
},
|
|
"storage_specifiers": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "storage.modifier.specifier.$3.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w))"
|
|
},
|
|
"storage_types": {
|
|
"patterns": [
|
|
{
|
|
"include": "#storage_specifiers"
|
|
},
|
|
{
|
|
"include": "#inline_builtin_storage_type"
|
|
},
|
|
{
|
|
"include": "#decltype"
|
|
},
|
|
{
|
|
"include": "#typename"
|
|
}
|
|
]
|
|
},
|
|
"string_context": {
|
|
"patterns": [
|
|
{
|
|
"begin": "((?:u8??|[LU])?)\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"1": {
|
|
"name": "meta.encoding.cpp"
|
|
}
|
|
},
|
|
"end": "(\")(?:((?:[A-Za-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
},
|
|
"2": {
|
|
"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.other.suffix.literal.user-defined.string.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\(?:u\\h{4}|U\\h{8})",
|
|
"name": "constant.character.escape.cpp"
|
|
},
|
|
{
|
|
"match": "\\\\[\"'?\\\\abfnrtv]",
|
|
"name": "constant.character.escape.cpp"
|
|
},
|
|
{
|
|
"match": "\\\\[0-7]{1,3}",
|
|
"name": "constant.character.escape.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.character.escape.cpp"
|
|
},
|
|
"2": {
|
|
"name": "invalid.illegal.unknown-escape.cpp"
|
|
}
|
|
},
|
|
"match": "(\\\\x0*\\h{2}(?!\\h))|(\\\\x\\h*)"
|
|
},
|
|
{
|
|
"include": "#string_escapes_context_c"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<!\\h)((?:u8??|[LU])?)'",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"1": {
|
|
"name": "meta.encoding.cpp"
|
|
}
|
|
},
|
|
"end": "(')(?:((?:[A-Za-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
},
|
|
"2": {
|
|
"name": "keyword.other.suffix.literal.user-defined.reserved.character.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.other.suffix.literal.user-defined.character.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.single.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "constant.character.escape.cpp"
|
|
},
|
|
"2": {
|
|
"name": "invalid.illegal.unknown-escape.cpp"
|
|
}
|
|
},
|
|
"match": "(\\\\x0*\\h{2}(?!\\h))|(\\\\x\\h*)"
|
|
},
|
|
{
|
|
"include": "#string_escapes_context_c"
|
|
},
|
|
{
|
|
"include": "#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?:[LUu]8?)?R)\"(?:(?:_r|re)|regex)\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"1": {
|
|
"name": "meta.encoding.cpp"
|
|
}
|
|
},
|
|
"end": "\\)(?:(?:_r|re)|regex)\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.raw.regex.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.regexp.python"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?:[LUu]8?)?R)\"(?:glsl|GLSL)\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"1": {
|
|
"name": "meta.encoding.cpp"
|
|
}
|
|
},
|
|
"end": "\\)(?:glsl|GLSL)\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "meta.string.quoted.double.raw.glsl.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.glsl"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?:[LUu]8?)?R)\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
},
|
|
"1": {
|
|
"name": "meta.encoding.cpp"
|
|
}
|
|
},
|
|
"end": "\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\"",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "meta.string.quoted.double.raw.sql.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.sql"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "((?:u8??|[LU])?R)\"(?:([^\\t ()\\\\]{0,16})|([^\\t ()\\\\]*))\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin"
|
|
},
|
|
"1": {
|
|
"name": "meta.encoding"
|
|
},
|
|
"3": {
|
|
"name": "invalid.illegal.delimiter-too-long"
|
|
}
|
|
},
|
|
"end": "(\\)\\2(\\3)\")(?:((?:[A-Za-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end"
|
|
},
|
|
"2": {
|
|
"name": "invalid.illegal.delimiter-too-long"
|
|
},
|
|
"3": {
|
|
"name": "keyword.other.suffix.literal.user-defined.reserved.string.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.other.suffix.literal.user-defined.string.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.raw"
|
|
}
|
|
]
|
|
},
|
|
"string_escapes_context_c": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\\\([\"'?\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\d?|x\\h{0,2}|u\\h{0,4}|U\\h{0,8})",
|
|
"name": "constant.character.escape"
|
|
},
|
|
{
|
|
"match": "\\\\.",
|
|
"name": "invalid.illegal.unknown-escape"
|
|
},
|
|
{
|
|
"match": "(?!%')(?!%\")%(\\d+\\$)?[- #'+0]*[,:;_]?((-?\\d+)|\\*(-?\\d+\\$)?)?(\\.((-?\\d+)|\\*(-?\\d+\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]",
|
|
"name": "constant.other.placeholder"
|
|
}
|
|
]
|
|
},
|
|
"struct_block": {
|
|
"begin": "((?<!\\w)struct(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.struct.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.$1.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.type.struct.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"
|
|
},
|
|
{
|
|
"match": "DLLEXPORT",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "punctuation.separator.colon.inheritance.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#inheritance_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.struct.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#constructor_inline"
|
|
},
|
|
{
|
|
"include": "#destructor_inline"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"struct_declare": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.struct.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.struct.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)struct(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
"switch_conditional_parentheses": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.conditional.switch.cpp"
|
|
}
|
|
},
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.conditional.switch.cpp"
|
|
}
|
|
},
|
|
"name": "meta.conditional.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"switch_statement": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)switch(?!\\w))",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.switch.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.control.switch.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=}|%>|\\?\\?>)|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.block.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.switch.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#switch_conditional_parentheses"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.switch.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#default_statement"
|
|
},
|
|
{
|
|
"include": "#case_statement"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"template_argument_defaulted": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.template.argument.$1.cpp"
|
|
},
|
|
"2": {
|
|
"name": "entity.name.type.template.cpp"
|
|
},
|
|
"3": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
}
|
|
},
|
|
"match": "(?<=[,<])\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(=)"
|
|
},
|
|
"template_call_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#language_constants"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_template_call_inner_generated"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma_in_template_argument"
|
|
},
|
|
{
|
|
"include": "#qualified_type"
|
|
}
|
|
]
|
|
},
|
|
"template_call_innards": {
|
|
"captures": {
|
|
"0": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!<)<(?!<)(?:(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<1>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+",
|
|
"name": "meta.template.call.cpp"
|
|
},
|
|
"template_call_range": {
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
"template_definition": {
|
|
"begin": "(?<!\\w)(template)\\s+{0,1}(<)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "storage.type.template.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "(?<=\\w)\\s+{0,1}<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#template_definition_context"
|
|
}
|
|
]
|
|
},
|
|
"template_definition_argument": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
|
|
},
|
|
"11": {
|
|
"name": "storage.type.template.argument.$11.cpp"
|
|
},
|
|
"12": {
|
|
"name": "entity.name.type.template.cpp"
|
|
},
|
|
"13": {
|
|
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
|
|
},
|
|
"14": {
|
|
"name": "storage.type.template.argument.$14.cpp"
|
|
},
|
|
"15": {
|
|
"name": "entity.name.type.template.cpp"
|
|
},
|
|
"16": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"17": {
|
|
"name": "punctuation.separator.delimiter.comma.template.argument.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "storage.type.template.argument.$3.cpp"
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "storage.type.template.argument.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"name": "entity.name.type.template.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.template.argument.$6.cpp"
|
|
},
|
|
"7": {
|
|
"name": "punctuation.vararg-ellipses.template.definition.cpp"
|
|
},
|
|
"8": {
|
|
"name": "entity.name.type.template.cpp"
|
|
},
|
|
"9": {
|
|
"name": "storage.type.template.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s+)+)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))|((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}(\\.\\.\\.)\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))|(?<!\\w)(template)\\s+{0,1}(<)\\s+{0,1}((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(>)\\s+{0,1}(class|typename)(?:\\s+((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*))?)\\s+{0,1}(?:(=)\\s+{0,1}(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?(?:(,)|(?=>|$))"
|
|
},
|
|
"template_definition_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_template_definition_inner_generated"
|
|
},
|
|
{
|
|
"include": "#template_definition_argument"
|
|
},
|
|
{
|
|
"include": "#template_argument_defaulted"
|
|
},
|
|
{
|
|
"include": "#template_call_innards"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"template_explicit_instantiation": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.modifier.specifier.extern.cpp"
|
|
},
|
|
"2": {
|
|
"name": "storage.type.template.cpp"
|
|
}
|
|
},
|
|
"match": "(?<!\\w)(?:(extern)\\s+)?(template)\\s+",
|
|
"name": "meta.template.explicit-instantiation.cpp"
|
|
},
|
|
"template_isolated_definition": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.template.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.definition.cpp"
|
|
},
|
|
"3": {
|
|
"name": "meta.template.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_definition_context"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "punctuation.section.angle-brackets.end.template.definition.cpp"
|
|
}
|
|
},
|
|
"match": "(?<!\\w)(template)\\s+{0,1}(<)(.*)(>)\\s+{0,1}$"
|
|
},
|
|
"ternary_operator": {
|
|
"applyEndPatternLast": 1,
|
|
"begin": "\\?",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "keyword.operator.ternary.cpp"
|
|
}
|
|
},
|
|
"end": ":",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "keyword.operator.ternary.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
},
|
|
{
|
|
"include": "#member_access"
|
|
},
|
|
{
|
|
"include": "#predefined_macros"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "#memory_operators"
|
|
},
|
|
{
|
|
"include": "#wordlike_operators"
|
|
},
|
|
{
|
|
"include": "#type_casting_operators"
|
|
},
|
|
{
|
|
"include": "#control_flow_keywords"
|
|
},
|
|
{
|
|
"include": "#exception_keywords"
|
|
},
|
|
{
|
|
"include": "#the_this_keyword"
|
|
},
|
|
{
|
|
"include": "#language_constants"
|
|
},
|
|
{
|
|
"include": "#builtin_storage_type_initilizer"
|
|
},
|
|
{
|
|
"include": "#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#lambdas"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#parentheses"
|
|
},
|
|
{
|
|
"include": "#function_call"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"include": "#square_brackets"
|
|
},
|
|
{
|
|
"include": "#semicolon"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
}
|
|
]
|
|
},
|
|
"the_this_keyword": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "variable.language.this.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)this(?!\\w))"
|
|
},
|
|
"type_alias": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"18": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "entity.name.type.cpp"
|
|
},
|
|
"20": {
|
|
"name": "meta.declaration.type.alias.value.unknown.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"21": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"22": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"23": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"24": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"25": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"26": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"27": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"28": {
|
|
"name": "punctuation.definition.begin.bracket.square.cpp"
|
|
},
|
|
"29": {
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"30": {
|
|
"name": "punctuation.definition.end.bracket.square.cpp"
|
|
},
|
|
"31": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"4": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"5": {
|
|
"name": "keyword.other.typename.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#storage_specifiers"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "(using)\\s+(?!namespace)((?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)\\s+{0,1}((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?\\s+{0,1}(=)\\s+{0,1}((?:typename)?)\\s+{0,1}((?:(?:((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?<!\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\w)\\s+)+)?(?:(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<19>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<19>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))|(.*(?<!;)))(?:((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?:(\\[)(\\w*)(])\\s+{0,1})?\\s+{0,1}(?:(;)|\\n)",
|
|
"name": "meta.declaration.type.alias.cpp"
|
|
},
|
|
"type_casting_operators": {
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:reinterpret|dynamic|static|const)_cast(?!\\w))"
|
|
},
|
|
"typedef_class": {
|
|
"begin": "((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)class(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.typedef.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=;)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "((?<!\\w)class(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.class.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.$1.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.type.class.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"
|
|
},
|
|
{
|
|
"match": "DLLEXPORT",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "punctuation.separator.colon.inheritance.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.class.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#inheritance_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.class.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#constructor_inline"
|
|
},
|
|
{
|
|
"include": "#destructor_inline"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"14": {
|
|
"name": "entity.name.type.alias.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ","
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"typedef_function_pointer": {
|
|
"begin": "((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=.*\\(\\*\\s*(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\s*\\))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.typedef.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=;)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<18>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()(\\*)\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*)?)\\s+{0,1}(?:(\\[)(\\w*)(])\\s+{0,1})*(\\))\\s+{0,1}(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"16": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"18": {
|
|
},
|
|
"19": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"21": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"22": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"23": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"24": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"25": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"26": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"27": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"28": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"30": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"31": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"32": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.function.pointer.cpp"
|
|
},
|
|
"33": {
|
|
"name": "punctuation.definition.function.pointer.dereference.cpp"
|
|
},
|
|
"34": {
|
|
"name": "entity.name.type.alias.cpp entity.name.type.pointer.function.cpp"
|
|
},
|
|
"35": {
|
|
"name": "punctuation.definition.begin.bracket.square.cpp"
|
|
},
|
|
"36": {
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"37": {
|
|
"name": "punctuation.definition.end.bracket.square.cpp"
|
|
},
|
|
"38": {
|
|
"name": "punctuation.section.parens.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"39": {
|
|
"name": "punctuation.section.parameters.begin.bracket.round.function.pointer.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"6": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(\\))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=[\\n),;=>{])(?!\\()",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"typedef_struct": {
|
|
"begin": "((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)struct(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.typedef.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=;)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "((?<!\\w)struct(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.struct.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.$1.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.type.struct.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"
|
|
},
|
|
{
|
|
"match": "DLLEXPORT",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "punctuation.separator.colon.inheritance.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.struct.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#inheritance_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.struct.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#constructor_inline"
|
|
},
|
|
{
|
|
"include": "#destructor_inline"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"14": {
|
|
"name": "entity.name.type.alias.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ","
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"typedef_union": {
|
|
"begin": "((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)union(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.typedef.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=;)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "((?<!\\w)union(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.union.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.$1.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.type.union.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"
|
|
},
|
|
{
|
|
"match": "DLLEXPORT",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "punctuation.separator.colon.inheritance.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.union.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#inheritance_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.union.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#constructor_inline"
|
|
},
|
|
{
|
|
"include": "#destructor_inline"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"12": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"14": {
|
|
"name": "entity.name.type.alias.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*]((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))"
|
|
},
|
|
{
|
|
"match": ","
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"typeid_operator": {
|
|
"begin": "((?<!\\w)typeid(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.operator.functionlike.cpp keyword.operator.typeid.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp"
|
|
}
|
|
},
|
|
"contentName": "meta.arguments.operator.typeid",
|
|
"end": "\\)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"typename": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.modifier.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)",
|
|
"name": "entity.name.scope-resolution.type.cpp"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"name": "meta.qualified_type.cpp",
|
|
"patterns": [
|
|
{
|
|
"match": "::",
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp"
|
|
},
|
|
{
|
|
"match": "(?<!\\w)(?:struct|class|union|enum)(?!\\w)",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#comma"
|
|
},
|
|
{
|
|
"include": "#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"name": "meta.template.call.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.type.cpp"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?<!\\w)typename(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\s*+((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*(?:((?:::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<17>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*+)(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\b)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*\\b((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<17>|(?:[^\"'/<>]|/[^*])++)*>)?(?![.:<\\w]))"
|
|
},
|
|
"undef": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.control.directive.undef.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "punctuation.definition.directive.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"name": "entity.name.function.preprocessor.cpp"
|
|
}
|
|
},
|
|
"match": "^((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(#)\\s+{0,1}undef)\\b(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))",
|
|
"name": "meta.preprocessor.undef.cpp"
|
|
},
|
|
"union_block": {
|
|
"begin": "((?<!\\w)union(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:(?=\\{)|(?:((?:(?:(?:\\[\\[.*?]]|__attribute(?:__)?\\s*\\(\\s*\\(.*?\\)\\s*\\))|__declspec\\(.*?\\))|alignas\\(.*?\\))(?!\\)))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?((?:(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*+)?(?:((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(:(?!:)))?)",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.union.cpp"
|
|
},
|
|
"1": {
|
|
"name": "storage.type.$1.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "entity.name.type.union.cpp"
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"name": "storage.type.modifier.final.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"match": "((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?:((?<!\\w)final(?!\\w))((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))?(?=[:{]|$)"
|
|
},
|
|
{
|
|
"match": "DLLEXPORT",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp"
|
|
},
|
|
{
|
|
"match": "(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*",
|
|
"name": "entity.name.other.preprocessor.macro.predefined.probably.$0.cpp"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"13": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"14": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"15": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"16": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"17": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"18": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"19": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"name": "punctuation.separator.colon.inheritance.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"5": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[])",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\{|<%|\\?\\?<|(?=;)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.union.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#inheritance_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.union.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#constructor_inline"
|
|
},
|
|
{
|
|
"include": "#destructor_inline"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"union_declare": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.type.union.declare.cpp"
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"12": {
|
|
"name": "variable.other.object.declare.cpp"
|
|
},
|
|
"13": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"14": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.union.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"4": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "(?:&((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)){2,}&",
|
|
"name": "invalid.illegal.reference-type.cpp"
|
|
},
|
|
{
|
|
"match": "&",
|
|
"name": "storage.modifier.reference.cpp"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"9": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"2": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"3": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
}
|
|
},
|
|
"match": "\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"match": "((?<!\\w)union(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))((((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)?(?:[\\&*](((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z))*[\\&*])?(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)\\b(?!override\\W|override\\$|final\\W|final\\$)((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(((?:\\s*+/\\*(?:[^*]++|\\*+(?!/))*+\\*/\\s*+)+)|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\S)(?![:A-Za-{])"
|
|
},
|
|
"using_name": {
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
}
|
|
},
|
|
"match": "(using)\\s+(?!namespace\\b)"
|
|
},
|
|
"using_namespace": {
|
|
"begin": "(?<!\\w)(using)\\s+(namespace)\\s+((::)?(?:(?!\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\b)(?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w)\\s*+(((?<!<)<(?!<)(?:/\\*(?:[^*]++|\\*+(?!/))*+\\*/|\"(?:[^\"]*|\\\\\")\"|'(?:[^']*|\\\\')'|\\g<6>|(?:[^\"'/<>]|/[^*])++)*>)\\s*+)?::)*\\s*+)?((?<!\\w)(?:[A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))(?:[0-9A-Z_a-z]|\\\\(?:u\\h{4}|U\\h{8}))*(?!\\w))(?=[\\n;])",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.using.directive.cpp"
|
|
},
|
|
"2": {
|
|
"name": "keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "#scope_resolution_namespace_using_inner_generated"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp"
|
|
},
|
|
"5": {
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_range"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
},
|
|
"7": {
|
|
"name": "entity.name.namespace.cpp"
|
|
}
|
|
},
|
|
"end": ";",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.using-namespace.cpp"
|
|
},
|
|
"vararg_ellipses": {
|
|
"match": "(?<!\\.)\\.\\.\\.(?!\\.)",
|
|
"name": "punctuation.vararg-ellipses.cpp"
|
|
},
|
|
"wordlike_operators": {
|
|
"patterns": [
|
|
{
|
|
"match": "(?<!\\w)(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?!\\w)",
|
|
"name": "keyword.operator.wordlike.cpp keyword.operator.$0.cpp"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"scopeName": "source.cpp"
|
|
}
|