Implementation
Mode cpp(Highlight hljs) {
final Mode _mode0 = Mode();
final Mode _mode1 = Mode();
final Mode _mode2 = Mode();
final Mode _mode3 = Mode();
final Mode _mode4 = Mode();
final Mode _mode5 = Mode();
final Mode _mode6 = Mode();
final Mode _mode7 = Mode();
final Mode _mode8 = Mode();
final Mode _mode9 = Mode();
final Mode _mode10 = Mode();
final Mode _mode11 = Mode();
final Mode _mode12 = Mode();
final Mode _mode13 = Mode();
final Mode _mode14 = Mode();
final Mode _mode15 = Mode();
final Mode _mode16 = Mode();
final Mode _mode17 = Mode();
final Mode _mode18 = Mode();
final Mode _mode19 = Mode();
final Mode _mode20 = Mode();
_mode0.scope = r'function.dispatch';
_mode0.relevance = 0;
_mode0.keywords = {
r'_hint': [
r'abort',
r'abs',
r'acos',
r'apply',
r'as_const',
r'asin',
r'atan',
r'atan2',
r'calloc',
r'ceil',
r'cerr',
r'cin',
r'clog',
r'cos',
r'cosh',
r'cout',
r'declval',
r'endl',
r'exchange',
r'exit',
r'exp',
r'fabs',
r'floor',
r'fmod',
r'forward',
r'fprintf',
r'fputs',
r'free',
r'frexp',
r'fscanf',
r'future',
r'invoke',
r'isalnum',
r'isalpha',
r'iscntrl',
r'isdigit',
r'isgraph',
r'islower',
r'isprint',
r'ispunct',
r'isspace',
r'isupper',
r'isxdigit',
r'labs',
r'launder',
r'ldexp',
r'log',
r'log10',
r'make_pair',
r'make_shared',
r'make_shared_for_overwrite',
r'make_tuple',
r'make_unique',
r'malloc',
r'memchr',
r'memcmp',
r'memcpy',
r'memset',
r'modf',
r'move',
r'pow',
r'printf',
r'putchar',
r'puts',
r'realloc',
r'scanf',
r'sin',
r'sinh',
r'snprintf',
r'sprintf',
r'sqrt',
r'sscanf',
r'std',
r'stderr',
r'stdin',
r'stdout',
r'strcat',
r'strchr',
r'strcmp',
r'strcpy',
r'strcspn',
r'strlen',
r'strncat',
r'strncmp',
r'strncpy',
r'strpbrk',
r'strrchr',
r'strspn',
r'strstr',
r'swap',
r'tan',
r'tanh',
r'terminate',
r'to_underlying',
r'tolower',
r'toupper',
r'vfprintf',
r'visit',
r'vprintf',
r'vsprintf',
],
};
_mode0.begin =
r'\b(?!decltype)(?!if)(?!for)(?!switch)(?!while)[a-zA-Z]\w*(?=(<[^<>]+>|)\s*\()';
_mode1.scope = r'meta';
_mode1.begin = r'#\s*[a-z]+\b';
_mode1.end = r'$';
_mode1.keywords = {
r'keyword':
r'if else elif endif define undef warning error line pragma _Pragma ifdef ifndef include',
};
_mode1.contains = [_mode2, _mode3, _mode8, _mode9, _mode13];
_mode2.begin = r'\\\n';
_mode2.relevance = 0;
_mode3.scope = r'string';
_mode3.variants = [_mode4, _mode6, _mode7];
_mode4.begin = r'(u8?|U|L)?"';
_mode4.end = r'"';
_mode4.illegal = r'\n';
_mode4.contains = [_mode5];
_mode5.begin = r'\\[\s\S]';
_mode5.relevance = 0;
_mode6.begin =
r"(u8?|U|L)?'(\\(x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4,8}|[0-7]{3}|\S)|.)";
_mode6.end = r"'";
_mode6.illegal = r'.';
_mode7.begin = r'(?:u8?|U|L)?R"([^()\\ ]{0,16})\(';
_mode7.end = r'\)([^()\\ ]{0,16})"';
_mode7.onBegin = (RegExpMatch m, CallbackResponse resp) {
resp.data['_beginMatch'] = m.group(1);
};
_mode7.onEnd = (RegExpMatch m, CallbackResponse resp) {
if (resp.data['_beginMatch'] != m.group(1)) resp.ignoreMatch();
};
_mode8.scope = r'string';
_mode8.begin = r'<.*?>';
_mode9.scope = r'comment';
_mode9.begin = r'//';
_mode9.end = r'$';
_mode9.contains = [_mode10, _mode11, _mode12];
_mode10.begin = r'\\\n';
_mode11.scope = r'doctag';
_mode11.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
_mode11.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
_mode11.excludeBegin = true;
_mode11.relevance = 0;
_mode12.begin =
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}";
_mode13.scope = r'comment';
_mode13.begin = r'/\*';
_mode13.end = r'\*/';
_mode13.contains = [_mode14, _mode15];
_mode14.scope = r'doctag';
_mode14.begin = r'[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)';
_mode14.end = r'(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):';
_mode14.excludeBegin = true;
_mode14.relevance = 0;
_mode15.begin =
r"[ ]+((?:I|a|is|so|us|to|at|if|in|it|on|[A-Za-z]+['](d|ve|re|ll|t|s|n)|[A-Za-z]+[-][a-z]+|[A-Za-z][a-z]{2,})[.]?[:]?([.][ ]|[ ])){3}";
_mode16.scope = r'type';
_mode16.begin = r'\b[a-z\d_]*_t\b';
_mode17.scope = r'number';
_mode17.variants = [_mode18, _mode19];
_mode17.relevance = 0;
_mode18.begin =
r"[+-]?(?:(?:[0-9](?:'?[0-9])*\.(?:[0-9](?:'?[0-9])*)?|\.[0-9](?:'?[0-9])*)(?:[Ee][+-]?[0-9](?:'?[0-9])*)?|[0-9](?:'?[0-9])*[Ee][+-]?[0-9](?:'?[0-9])*|0[Xx](?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*(?:\.(?:[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)?)?|\.[0-9A-Fa-f](?:'?[0-9A-Fa-f])*)[Pp][+-]?[0-9](?:'?[0-9])*)(?:[Ff](?:16|32|64|128)?|(BF|bf)16|[Ll]|)";
_mode19.begin =
r"[+-]?\b(?:0[Bb][01](?:'?[01])*|0[Xx][0-9A-Fa-f](?:'?[0-9A-Fa-f])*|0(?:'?[0-7])*|[1-9](?:'?[0-9])*)(?:[Uu](?:LL?|ll?)|[Uu][Zz]?|(?:LL?|ll?)[Uu]?|[Zz][Uu]|)";
_mode20.scope = r'string';
_mode20.variants = [_mode4, _mode6, _mode7];
return Mode(
name: r'C++',
aliases: [r'cc', r'c++', r'h++', r'hpp', r'hh', r'hxx', r'cxx'],
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
illegal: r'</',
classNameAliases: {r'function.dispatch': r'built_in'},
contains: [
Mode(
variants: [
Mode(begin: r'=', end: r';'),
Mode(begin: r'\(', end: r'\)'),
Mode(beginKeywords: r'new throw return else', end: r';'),
],
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
contains: [
_mode0,
_mode1,
_mode16,
_mode9,
_mode13,
_mode17,
_mode20,
Mode(
begin: r'\(',
end: r'\)',
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
contains: [
_mode0,
_mode1,
_mode16,
_mode9,
_mode13,
_mode17,
_mode20,
r'self',
],
relevance: 0,
),
],
relevance: 0,
),
Mode(
scope: r'function',
begin:
r'((?!struct)(decltype\(auto\)|(?:[a-zA-Z_]\w*::)?[a-zA-Z_]\w*(?:<[^<>]+>)?)[\*&\s]+)+(?:[a-zA-Z_]\w*::)?[a-zA-Z]\w*\s*\(',
returnBegin: true,
end: r'[{;=]',
excludeEnd: true,
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
illegal: r'[^\w\s\*&:<>.]',
contains: [
Mode(
begin: r'decltype\(auto\)',
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
relevance: 0,
),
Mode(
begin: r'(?:[a-zA-Z_]\w*::)?[a-zA-Z]\w*\s*\(',
returnBegin: true,
contains: [
Mode(
scope: r'title',
begin: r'(?:[a-zA-Z_]\w*::)?[a-zA-Z]\w*',
relevance: 0,
),
],
relevance: 0,
),
Mode(begin: r'::', relevance: 0),
Mode(begin: r':', endsWithParent: true, contains: [_mode20, _mode17]),
Mode(relevance: 0, match: r','),
Mode(
scope: r'params',
begin: r'\(',
end: r'\)',
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
relevance: 0,
contains: [
_mode9,
_mode13,
_mode20,
_mode17,
_mode16,
Mode(
begin: r'\(',
end: r'\)',
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [
r'NULL',
r'false',
r'nullopt',
r'nullptr',
r'true',
],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
relevance: 0,
contains: [r'self', _mode9, _mode13, _mode20, _mode17, _mode16],
),
],
),
_mode16,
_mode9,
_mode13,
_mode1,
],
),
_mode0,
_mode0,
_mode1,
_mode16,
_mode9,
_mode13,
_mode17,
_mode20,
_mode1,
Mode(
begin:
r'\b(deque|list|queue|priority_queue|pair|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array|tuple|optional|variant|function|flat_map|flat_set)\s*<(?!<)',
end: r'>',
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
contains: [r'self', _mode16],
),
Mode(
begin: r'[a-zA-Z]\w*::',
keywords: {
r'type': [
r'bool',
r'char',
r'char16_t',
r'char32_t',
r'char8_t',
r'double',
r'float',
r'int',
r'long',
r'short',
r'void',
r'wchar_t',
r'unsigned',
r'signed',
r'const',
r'static',
],
r'keyword': [
r'alignas',
r'alignof',
r'and',
r'and_eq',
r'asm',
r'atomic_cancel',
r'atomic_commit',
r'atomic_noexcept',
r'auto',
r'bitand',
r'bitor',
r'break',
r'case',
r'catch',
r'class',
r'co_await',
r'co_return',
r'co_yield',
r'compl',
r'concept',
r'const_cast|10',
r'consteval',
r'constexpr',
r'constinit',
r'continue',
r'decltype',
r'default',
r'delete',
r'do',
r'dynamic_cast|10',
r'else',
r'enum',
r'explicit',
r'export',
r'extern',
r'false',
r'final',
r'for',
r'friend',
r'goto',
r'if',
r'import',
r'inline',
r'module',
r'mutable',
r'namespace',
r'new',
r'noexcept',
r'not',
r'not_eq',
r'nullptr',
r'operator',
r'or',
r'or_eq',
r'override',
r'private',
r'protected',
r'public',
r'reflexpr',
r'register',
r'reinterpret_cast|10',
r'requires',
r'return',
r'sizeof',
r'static_assert',
r'static_cast|10',
r'struct',
r'switch',
r'synchronized',
r'template',
r'this',
r'thread_local',
r'throw',
r'transaction_safe',
r'transaction_safe_dynamic',
r'true',
r'try',
r'typedef',
r'typeid',
r'typename',
r'union',
r'using',
r'virtual',
r'volatile',
r'while',
r'xor',
r'xor_eq',
],
r'literal': [r'NULL', r'false', r'nullopt', r'nullptr', r'true'],
r'built_in': [r'_Pragma'],
r'_type_hints': [
r'any',
r'auto_ptr',
r'barrier',
r'binary_semaphore',
r'bitset',
r'complex',
r'condition_variable',
r'condition_variable_any',
r'counting_semaphore',
r'deque',
r'false_type',
r'flat_map',
r'flat_set',
r'future',
r'imaginary',
r'initializer_list',
r'istringstream',
r'jthread',
r'latch',
r'lock_guard',
r'multimap',
r'multiset',
r'mutex',
r'optional',
r'ostringstream',
r'packaged_task',
r'pair',
r'promise',
r'priority_queue',
r'queue',
r'recursive_mutex',
r'recursive_timed_mutex',
r'scoped_lock',
r'set',
r'shared_future',
r'shared_lock',
r'shared_mutex',
r'shared_timed_mutex',
r'shared_ptr',
r'stack',
r'string_view',
r'stringstream',
r'timed_mutex',
r'thread',
r'true_type',
r'tuple',
r'unique_lock',
r'unique_ptr',
r'unordered_map',
r'unordered_multimap',
r'unordered_multiset',
r'unordered_set',
r'variant',
r'vector',
r'weak_ptr',
r'wstring',
r'wstring_view',
],
},
),
Mode(
match: [
r'\b(?:enum(?:\s+(?:class|struct))?|class|struct|union)',
r'\s+',
r'\w+',
],
scope: {1: r'keyword', 3: r'title.class'},
),
],
);
}