9499 lines
334 KiB
JSON
9499 lines
334 KiB
JSON
{
|
|
"displayName": "C++",
|
|
"name": "cpp-macro",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#constructor_root"
|
|
},
|
|
{
|
|
"include": "#destructor_root"
|
|
},
|
|
{
|
|
"include": "#function_definition"
|
|
},
|
|
{
|
|
"include": "#operator_overload"
|
|
},
|
|
{
|
|
"include": "#using_namespace"
|
|
},
|
|
{
|
|
"include": "source.cpp#type_alias"
|
|
},
|
|
{
|
|
"include": "source.cpp#using_name"
|
|
},
|
|
{
|
|
"include": "source.cpp#namespace_alias"
|
|
},
|
|
{
|
|
"include": "#namespace_block"
|
|
},
|
|
{
|
|
"include": "#extern_block"
|
|
},
|
|
{
|
|
"include": "#typedef_class"
|
|
},
|
|
{
|
|
"include": "#typedef_struct"
|
|
},
|
|
{
|
|
"include": "#typedef_union"
|
|
},
|
|
{
|
|
"include": "source.cpp#misc_keywords"
|
|
},
|
|
{
|
|
"include": "source.cpp#standard_declares"
|
|
},
|
|
{
|
|
"include": "#class_block"
|
|
},
|
|
{
|
|
"include": "#struct_block"
|
|
},
|
|
{
|
|
"include": "#union_block"
|
|
},
|
|
{
|
|
"include": "#enum_block"
|
|
},
|
|
{
|
|
"include": "source.cpp#template_isolated_definition"
|
|
},
|
|
{
|
|
"include": "#template_definition"
|
|
},
|
|
{
|
|
"include": "source.cpp#template_explicit_instantiation"
|
|
},
|
|
{
|
|
"include": "source.cpp#access_control_keywords"
|
|
},
|
|
{
|
|
"include": "#block"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#assembly"
|
|
},
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
],
|
|
"repository": {
|
|
"alignas_attribute": {
|
|
"begin": "alignas\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.asm.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "\"|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#backslash_escapes"
|
|
},
|
|
{
|
|
"include": "#string_escaped_char"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.assembly.inner.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.assembly.inner.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"attributes_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#cpp_attributes"
|
|
},
|
|
{
|
|
"include": "#gcc_attributes"
|
|
},
|
|
{
|
|
"include": "#ms_attributes"
|
|
},
|
|
{
|
|
"include": "#alignas_attribute"
|
|
}
|
|
]
|
|
},
|
|
"block": {
|
|
"begin": "\\{",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.cpp"
|
|
}
|
|
},
|
|
"end": "}|(?=(?<!\\\\)\\n)",
|
|
"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": "\\*/|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": ":|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"comments": {
|
|
"patterns": [
|
|
{
|
|
"begin": "^\\s+{1,0}(//[!/]+)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment.documentation.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=\\n)(?<!\\\\\\n)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "comment.line.double-slash.documentation.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "[!*]*\\*/|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#emacs_file_banner"
|
|
},
|
|
{
|
|
"include": "#block_comment"
|
|
},
|
|
{
|
|
"include": "#line_comment"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "storage.type.modifier.calling-convention.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#functional_specifiers_pre_parameters"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"begin": ":",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.initializers.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\{)|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "}|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"begin": ":",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.separator.initializers.cpp"
|
|
}
|
|
},
|
|
"end": "(?=\\{)|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "}|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.constructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.special.constructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"cpp_attributes": {
|
|
"begin": "\\[\\[",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "]]|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "}|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.curly.initializer.cpp"
|
|
}
|
|
},
|
|
"name": "meta.initialization.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": ":|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#functional_specifiers_pre_parameters"
|
|
}
|
|
]
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
]
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.member.destructor.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
]
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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)(?=$))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.preprocessor.diagnostic.$reference(directive).cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"begin": "\"",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(\")|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$)))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.double.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "'",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.string.begin.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(')|(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$)))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.string.end.cpp"
|
|
}
|
|
},
|
|
"name": "string.quoted.single.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "[^\"']",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "string.unquoted.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#line_continuation_character"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"4": {
|
|
"name": "entity.name.type.enum.cpp"
|
|
},
|
|
"5": {
|
|
"name": "punctuation.separator.colon.type-specifier.cpp"
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.enum.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.enum.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#enumerator_list"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#semicolon"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.enum.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"evaluation_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
},
|
|
{
|
|
"include": "source.cpp#member_access"
|
|
},
|
|
{
|
|
"include": "source.cpp#predefined_macros"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#memory_operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#wordlike_operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#type_casting_operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#control_flow_keywords"
|
|
},
|
|
{
|
|
"include": "source.cpp#exception_keywords"
|
|
},
|
|
{
|
|
"include": "source.cpp#the_this_keyword"
|
|
},
|
|
{
|
|
"include": "source.cpp#language_constants"
|
|
},
|
|
{
|
|
"include": "#builtin_storage_type_initilizer"
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "source.cpp#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#lambdas"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#parentheses"
|
|
},
|
|
{
|
|
"include": "#function_call"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"include": "#square_brackets"
|
|
},
|
|
{
|
|
"include": "source.cpp#semicolon"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
}
|
|
]
|
|
},
|
|
"ever_present_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#pragma_mark"
|
|
},
|
|
{
|
|
"include": "#pragma"
|
|
},
|
|
{
|
|
"include": "source.cpp#include"
|
|
},
|
|
{
|
|
"include": "#line"
|
|
},
|
|
{
|
|
"include": "#diagnostic"
|
|
},
|
|
{
|
|
"include": "source.cpp#undef"
|
|
},
|
|
{
|
|
"include": "#preprocessor_conditional_range"
|
|
},
|
|
{
|
|
"include": "source.cpp#single_line_macro"
|
|
},
|
|
{
|
|
"include": "#macro"
|
|
},
|
|
{
|
|
"include": "source.cpp#preprocessor_conditional_standalone"
|
|
},
|
|
{
|
|
"include": "source.cpp#macro_argument"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "source.cpp#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"extern_block": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(extern)(?=\\s*\")",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "meta.head.extern.cpp"
|
|
},
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.begin.bracket.curly.extern.cpp"
|
|
}
|
|
},
|
|
"name": "meta.head.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=\\{|<%|\\?\\?<)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.extern.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.extern.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
"function_body_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#using_namespace"
|
|
},
|
|
{
|
|
"include": "source.cpp#type_alias"
|
|
},
|
|
{
|
|
"include": "source.cpp#using_name"
|
|
},
|
|
{
|
|
"include": "source.cpp#namespace_alias"
|
|
},
|
|
{
|
|
"include": "#typedef_class"
|
|
},
|
|
{
|
|
"include": "#typedef_struct"
|
|
},
|
|
{
|
|
"include": "#typedef_union"
|
|
},
|
|
{
|
|
"include": "source.cpp#misc_keywords"
|
|
},
|
|
{
|
|
"include": "source.cpp#standard_declares"
|
|
},
|
|
{
|
|
"include": "#class_block"
|
|
},
|
|
{
|
|
"include": "#struct_block"
|
|
},
|
|
{
|
|
"include": "#union_block"
|
|
},
|
|
{
|
|
"include": "#enum_block"
|
|
},
|
|
{
|
|
"include": "source.cpp#access_control_keywords"
|
|
},
|
|
{
|
|
"include": "#block"
|
|
},
|
|
{
|
|
"include": "#static_assert"
|
|
},
|
|
{
|
|
"include": "#assembly"
|
|
},
|
|
{
|
|
"include": "#function_pointer"
|
|
},
|
|
{
|
|
"include": "#switch_statement"
|
|
},
|
|
{
|
|
"include": "source.cpp#goto_statement"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"15": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "storage.modifier.$1.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"end": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#parameter_or_maybe_value"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.function.definition.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"function_parameter_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#parameter"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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),;=>{])(?!\\()|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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),;=>{])(?!\\()|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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"
|
|
}
|
|
]
|
|
},
|
|
"gcc_attributes": {
|
|
"begin": "__attribute(?:__)?\\s*\\(\\s*\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\)\\s*\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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]))"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#the_this_keyword"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "variable.parameter.capture.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "(?<=[;}])|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.parameters.begin.lambda.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "(?=\\{)|(?=(?<!\\\\)\\n)",
|
|
"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": "}|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.lambda.cpp"
|
|
}
|
|
},
|
|
"name": "meta.function.definition.body.lambda.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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)(?=$))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.preprocessor.line.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "#preprocessor_number_literal"
|
|
},
|
|
{
|
|
"include": "source.cpp#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"line_comment": {
|
|
"begin": "\\s*+(//)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "punctuation.definition.comment.cpp"
|
|
}
|
|
},
|
|
"end": "(?<!\\\\)(?:(?=\\n)|(?<=(?:^|[^\\\\])\\n)(?=$))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "comment.line.double-slash.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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)(?=$))|(?=(?<!\\\\)\\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": "source.cpp#macro_argument"
|
|
}
|
|
]
|
|
},
|
|
"macro_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp.embedded.macro"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#member_access"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.function.member.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"ms_attributes": {
|
|
"begin": "__declspec\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.begin.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.attribute.end.cpp"
|
|
}
|
|
},
|
|
"name": "support.other.attribute.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#ever_present_context"
|
|
}
|
|
]
|
|
},
|
|
"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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.block.namespace.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.block.end.bracket.curly.namespace.cpp"
|
|
}
|
|
},
|
|
"name": "meta.body.namespace.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"begin": "(?<=}|%>|\\?\\?>)\\s*",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "\\s*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"10": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.end.cpp"
|
|
},
|
|
"11": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"6": {
|
|
"patterns": [
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"68": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"69": {
|
|
"name": "comment.block.cpp"
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.function.definition.special.operator-overload.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#function_parameter_context"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#assignment_operator"
|
|
},
|
|
{
|
|
"match": "[-%*+/]",
|
|
"name": "keyword.operator.arithmetic.cpp"
|
|
},
|
|
{
|
|
"include": "#ternary_operator"
|
|
}
|
|
]
|
|
},
|
|
"parameter": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\w)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "(?:(?=\\))|(,))|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#scope_resolution_parameter_inner_generated"
|
|
},
|
|
{
|
|
"match": "struct|class|union|enum",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"begin": "(?<==)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"match": "=",
|
|
"name": "keyword.operator.assignment.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "]|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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_or_maybe_value": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(?=\\w)",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "(?:(?=\\))|(,))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"name": "meta.parameter.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#function_pointer_parameter"
|
|
},
|
|
{
|
|
"include": "source.cpp#memory_operators"
|
|
},
|
|
{
|
|
"include": "#builtin_storage_type_initilizer"
|
|
},
|
|
{
|
|
"include": "#curly_initializer"
|
|
},
|
|
{
|
|
"include": "#decltype"
|
|
},
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#scope_resolution_parameter_inner_generated"
|
|
},
|
|
{
|
|
"match": "struct|class|union|enum",
|
|
"name": "storage.type.$0.cpp"
|
|
},
|
|
{
|
|
"begin": "(?<==)",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:(?=\\))|(,))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.separator.delimiter.comma.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "]|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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"
|
|
}
|
|
]
|
|
},
|
|
"parentheses": {
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.end.bracket.round.cpp"
|
|
}
|
|
},
|
|
"name": "meta.parens.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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)(?=$))|(?=(?<!\\\\)\\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": "source.cpp#line_continuation_character"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_conditional_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#preprocessor_conditional_defined"
|
|
},
|
|
{
|
|
"include": "#comments"
|
|
},
|
|
{
|
|
"include": "source.cpp#language_constants"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#d9bc4796b0b_preprocessor_number_literal"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#predefined_macros"
|
|
},
|
|
{
|
|
"include": "source.cpp#macro_name"
|
|
},
|
|
{
|
|
"include": "source.cpp#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)(?=$)))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.control.defined.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#macro_name"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_conditional_parentheses": {
|
|
"begin": "\\(",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.parens.begin.bracket.round.cpp"
|
|
}
|
|
},
|
|
"end": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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)(?=$))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#preprocessor_conditional_context"
|
|
}
|
|
]
|
|
},
|
|
"preprocessor_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#pragma_mark"
|
|
},
|
|
{
|
|
"include": "#pragma"
|
|
},
|
|
{
|
|
"include": "source.cpp#include"
|
|
},
|
|
{
|
|
"include": "#line"
|
|
},
|
|
{
|
|
"include": "#diagnostic"
|
|
},
|
|
{
|
|
"include": "source.cpp#undef"
|
|
},
|
|
{
|
|
"include": "#preprocessor_conditional_range"
|
|
},
|
|
{
|
|
"include": "source.cpp#single_line_macro"
|
|
},
|
|
{
|
|
"include": "#macro"
|
|
},
|
|
{
|
|
"include": "source.cpp#preprocessor_conditional_standalone"
|
|
},
|
|
{
|
|
"include": "source.cpp#macro_argument"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "]|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.definition.end.bracket.square"
|
|
}
|
|
},
|
|
"name": "meta.bracket.square.access",
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "(?=\\))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.static_assert.message.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "#string_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"storage_types": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#storage_specifiers"
|
|
},
|
|
{
|
|
"include": "source.cpp#inline_builtin_storage_type"
|
|
},
|
|
{
|
|
"include": "#decltype"
|
|
},
|
|
{
|
|
"include": "source.cpp#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}))*))?|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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}))*))?|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#string_escapes_context_c"
|
|
},
|
|
{
|
|
"include": "source.cpp#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)\"|(?=(?<!\\\\)\\n)",
|
|
"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)\"|(?=(?<!\\\\)\\n)",
|
|
"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)\"|(?=(?<!\\\\)\\n)",
|
|
"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}))*))?|(?=(?<!\\\\)\\n)",
|
|
"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"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"switch_conditional_parentheses": {
|
|
"begin": "((?:\\s*+(/\\*)((?:[^*]++|\\*+(?!/))*+(\\*/))\\s*+)+|\\s++|(?<=\\W)|(?=\\W)|^|\\n?$|\\A|\\Z)(\\()",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "(?:(?<=}|%>|\\?\\?>)|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.block.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.switch.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"template_call_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#template_call_range"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "source.cpp#language_constants"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_template_call_inner_generated"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma_in_template_argument"
|
|
},
|
|
{
|
|
"include": "source.cpp#qualified_type"
|
|
}
|
|
]
|
|
},
|
|
"template_call_range": {
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": ">|(?=(?<!\\\\)\\n)",
|
|
"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": ">|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.end.template.call.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#template_call_context"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"include": "#template_definition_context"
|
|
}
|
|
]
|
|
},
|
|
"template_definition_context": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#scope_resolution_template_definition_inner_generated"
|
|
},
|
|
{
|
|
"include": "source.cpp#template_definition_argument"
|
|
},
|
|
{
|
|
"include": "source.cpp#template_argument_defaulted"
|
|
},
|
|
{
|
|
"include": "source.cpp#template_call_innards"
|
|
},
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"ternary_operator": {
|
|
"applyEndPatternLast": 1,
|
|
"begin": "\\?",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "keyword.operator.ternary.cpp"
|
|
}
|
|
},
|
|
"end": ":|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "keyword.operator.ternary.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#ever_present_context"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#method_access"
|
|
},
|
|
{
|
|
"include": "source.cpp#member_access"
|
|
},
|
|
{
|
|
"include": "source.cpp#predefined_macros"
|
|
},
|
|
{
|
|
"include": "#operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#memory_operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#wordlike_operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#type_casting_operators"
|
|
},
|
|
{
|
|
"include": "source.cpp#control_flow_keywords"
|
|
},
|
|
{
|
|
"include": "source.cpp#exception_keywords"
|
|
},
|
|
{
|
|
"include": "source.cpp#the_this_keyword"
|
|
},
|
|
{
|
|
"include": "source.cpp#language_constants"
|
|
},
|
|
{
|
|
"include": "#builtin_storage_type_initilizer"
|
|
},
|
|
{
|
|
"include": "source.cpp#qualifiers_and_specifiers_post_parameters"
|
|
},
|
|
{
|
|
"include": "source.cpp#functional_specifiers_pre_parameters"
|
|
},
|
|
{
|
|
"include": "#storage_types"
|
|
},
|
|
{
|
|
"include": "#lambdas"
|
|
},
|
|
{
|
|
"include": "#attributes_context"
|
|
},
|
|
{
|
|
"include": "#parentheses"
|
|
},
|
|
{
|
|
"include": "#function_call"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"include": "#square_brackets"
|
|
},
|
|
{
|
|
"include": "source.cpp#semicolon"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
}
|
|
]
|
|
},
|
|
"typedef_class": {
|
|
"begin": "((?<!\\w)typedef(?!\\w))\\s+{0,1}(?=(?<!\\w)class(?!\\w))",
|
|
"beginCaptures": {
|
|
"1": {
|
|
"name": "keyword.other.typedef.cpp"
|
|
}
|
|
},
|
|
"end": "(?<=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.class.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "(?<=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#number_literal"
|
|
},
|
|
{
|
|
"include": "#string_context"
|
|
},
|
|
{
|
|
"include": "source.cpp#comma"
|
|
},
|
|
{
|
|
"include": "source.cpp#scope_resolution_inner_generated"
|
|
},
|
|
{
|
|
"begin": "<",
|
|
"beginCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.angle-brackets.begin.template.call.cpp"
|
|
}
|
|
},
|
|
"end": ">|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"20": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"29": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"3": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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),;=>{])(?!\\()|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.section.parameters.end.bracket.round.function.pointer.cpp"
|
|
},
|
|
"2": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "(?<=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.struct.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "(?<=;)|(?=(?<!\\\\)\\n)",
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"match": "\\*",
|
|
"name": "storage.modifier.pointer.cpp"
|
|
},
|
|
{
|
|
"captures": {
|
|
"1": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "\\)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.section.arguments.end.bracket.round.operator.typeid.cpp"
|
|
}
|
|
},
|
|
"patterns": [
|
|
{
|
|
"include": "#evaluation_context"
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#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": "source.cpp#number_literal"
|
|
}
|
|
]
|
|
},
|
|
"7": {
|
|
"patterns": [
|
|
{
|
|
"include": "source.cpp#inline_comment"
|
|
}
|
|
]
|
|
},
|
|
"8": {
|
|
"name": "comment.block.cpp punctuation.definition.comment.begin.cpp"
|
|
},
|
|
"9": {
|
|
"name": "comment.block.cpp"
|
|
}
|
|
},
|
|
"end": "(?:(?:(?<=}|%>|\\?\\?>)\\s+{0,1}(;)|(;))|(?=[];=>\\[]))|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"1": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
},
|
|
"2": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.block.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"begin": "\\G ?",
|
|
"beginCaptures": {
|
|
},
|
|
"end": "(?:\\{|<%|\\?\\?<|(?=;))|(?=(?<!\\\\)\\n)",
|
|
"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": "}|%>|\\?\\?>|(?=(?<!\\\\)\\n)",
|
|
"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*(?=;)|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
},
|
|
"name": "meta.tail.union.cpp",
|
|
"patterns": [
|
|
{
|
|
"include": "$self"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"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": "source.cpp#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": ";|(?=(?<!\\\\)\\n)",
|
|
"endCaptures": {
|
|
"0": {
|
|
"name": "punctuation.terminator.statement.cpp"
|
|
}
|
|
},
|
|
"name": "meta.using-namespace.cpp"
|
|
}
|
|
},
|
|
"scopeName": "source.cpp.embedded.macro"
|
|
}
|